diff --git a/README.md b/README.md index 681eaf72fe5b..c5b232027141 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # CCXT – CryptoCurrency eXchange Trading Library -[![Build Status](https://travis-ci.org/ccxt/ccxt.svg?branch=master)](https://travis-ci.org/ccxt/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dm/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Gitter](https://badges.gitter.im/ccxt-dev/ccxt.svg)](https://gitter.im/ccxt-dev/ccxt?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Supported Exchanges](https://img.shields.io/badge/exchanges-127-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Open Collective](https://opencollective.com/ccxt/backers/badge.svg)](https://opencollective.com/ccxt) +[![Build Status](https://travis-ci.org/ccxt/ccxt.svg?branch=master)](https://travis-ci.org/ccxt/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dm/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Gitter](https://badges.gitter.im/ccxt-dev/ccxt.svg)](https://gitter.im/ccxt-dev/ccxt?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Supported Exchanges](https://img.shields.io/badge/exchanges-128-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Open Collective](https://opencollective.com/ccxt/backers/badge.svg)](https://opencollective.com/ccxt) [![Twitter Follow](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://twitter.com/ccxt_official) A JavaScript / Python / PHP library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs. @@ -39,7 +39,7 @@ Learn more about **[The Ocean](https://theocean.trade)** in [CCXT v1.17 Release ## Supported Cryptocurrency Exchange Markets -The ccxt library currently supports the following 127 cryptocurrency exchange markets and trading APIs: +The ccxt library currently supports the following 128 cryptocurrency exchange markets and trading APIs: | | id | name | certified | ver | doc | countries | |---------------------------------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------:|:---:|--------------------------------------------------------------------------------------------------|-----------------------------------------| @@ -49,6 +49,7 @@ The ccxt library currently supports the following 127 cryptocurrency exchange ma |![allcoin](https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg) | allcoin | [Allcoin](https://www.allcoin.com) | | 1 | [API](https://www.allcoin.com/About/APIReference) | Canada | |![anxpro](https://user-images.githubusercontent.com/1294454/27765983-fd8595da-5ec9-11e7-82e3-adb3ab8c2612.jpg) | anxpro | [ANXPro](https://anxpro.com) | | 2 | [API](http://docs.anxv2.apiary.io) | Japan, Singapore, Hong Kong, New Zealand| |![anybits](https://user-images.githubusercontent.com/1294454/41388454-ae227544-6f94-11e8-82a4-127d51d34903.jpg) | anybits | [Anybits](https://anybits.com) | | * | [API](https://anybits.com/help/api) | Ireland | +|![bcex](https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg) | bcex | [BCEX](https://www.bcex.top/user/reg/type/2/pid/758978) | | 1 | [API](https://www.bcex.top/api_market/market/) | China, Canada | |![bibox](https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg) | bibox | [Bibox](https://www.bibox.com) | | 1 | [API](https://github.com/Biboxcom/api_reference/wiki/home_en) | China, US, South Korea | |![bigone](https://user-images.githubusercontent.com/1294454/42803606-27c2b5ec-89af-11e8-8d15-9c8c245e8b2c.jpg) | bigone | [BigONE](https://b1.run/users/new?code=D3LLBVFT) | | 2 | [API](https://open.big.one/docs/api.html) | UK | |![binance](https://user-images.githubusercontent.com/1294454/29604020-d5483cdc-87ee-11e7-94c7-d1a8d9169293.jpg) | binance | [Binance](https://www.binance.com/?ref=10205187) | [![CCXT Certified](https://img.shields.io/badge/CCXT-certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | * | [API](https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md) | Japan | diff --git a/build/ccxt.browser.js b/build/ccxt.browser.js index 1d8866c188a3..e6b2fbc148a0 100644 --- a/build/ccxt.browser.js +++ b/build/ccxt.browser.js @@ -45,7 +45,7 @@ const Exchange = require ('./js/base/Exchange') //----------------------------------------------------------------------------- // this is updated by vss.js when building -const version = '1.17.56' +const version = '1.17.57' Exchange.ccxtVersion = version @@ -58,6 +58,7 @@ const exchanges = { 'allcoin': require ('./js/allcoin.js'), 'anxpro': require ('./js/anxpro.js'), 'anybits': require ('./js/anybits.js'), + 'bcex': require ('./js/bcex.js'), 'bibox': require ('./js/bibox.js'), 'bigone': require ('./js/bigone.js'), 'binance': require ('./js/binance.js'), @@ -187,7 +188,7 @@ module.exports = Object.assign ({ version, Exchange, exchanges: Object.keys (exc //----------------------------------------------------------------------------- -},{"./js/_1broker.js":3,"./js/_1btcxe.js":4,"./js/acx.js":5,"./js/allcoin.js":6,"./js/anxpro.js":7,"./js/anybits.js":8,"./js/base/Exchange":9,"./js/base/errors":11,"./js/base/functions":12,"./js/bibox.js":23,"./js/bigone.js":24,"./js/binance.js":25,"./js/bit2c.js":26,"./js/bitbank.js":27,"./js/bitbay.js":28,"./js/bitfinex.js":29,"./js/bitfinex2.js":30,"./js/bitflyer.js":31,"./js/bithumb.js":32,"./js/bitkk.js":33,"./js/bitlish.js":34,"./js/bitmarket.js":35,"./js/bitmex.js":36,"./js/bitsane.js":37,"./js/bitso.js":38,"./js/bitstamp.js":39,"./js/bitstamp1.js":40,"./js/bittrex.js":41,"./js/bitz.js":42,"./js/bl3p.js":43,"./js/bleutrade.js":44,"./js/braziliex.js":45,"./js/btcalpha.js":46,"./js/btcbox.js":47,"./js/btcchina.js":48,"./js/btcexchange.js":49,"./js/btcmarkets.js":50,"./js/btctradeim.js":51,"./js/btctradeua.js":52,"./js/btcturk.js":53,"./js/btcx.js":54,"./js/bxinth.js":55,"./js/ccex.js":56,"./js/cex.js":57,"./js/chbtc.js":58,"./js/chilebit.js":59,"./js/cobinhood.js":60,"./js/coinbase.js":61,"./js/coinbasepro.js":62,"./js/coincheck.js":63,"./js/coinegg.js":64,"./js/coinex.js":65,"./js/coinexchange.js":66,"./js/coinfalcon.js":67,"./js/coinfloor.js":68,"./js/coingi.js":69,"./js/coinmarketcap.js":70,"./js/coinmate.js":71,"./js/coinnest.js":72,"./js/coinone.js":73,"./js/coinsecure.js":74,"./js/coinspot.js":75,"./js/cointiger.js":76,"./js/coolcoin.js":77,"./js/crypton.js":78,"./js/cryptopia.js":79,"./js/deribit.js":80,"./js/dsx.js":81,"./js/ethfinex.js":82,"./js/exmo.js":83,"./js/exx.js":84,"./js/fcoin.js":85,"./js/flowbtc.js":86,"./js/foxbit.js":87,"./js/fybse.js":88,"./js/fybsg.js":89,"./js/gatecoin.js":90,"./js/gateio.js":91,"./js/gdax.js":92,"./js/gemini.js":93,"./js/getbtc.js":94,"./js/hadax.js":95,"./js/hitbtc.js":96,"./js/hitbtc2.js":97,"./js/huobi.js":98,"./js/huobicny.js":99,"./js/huobipro.js":100,"./js/ice3x.js":101,"./js/independentreserve.js":102,"./js/indodax.js":103,"./js/itbit.js":104,"./js/jubi.js":105,"./js/kraken.js":106,"./js/kucoin.js":107,"./js/kuna.js":108,"./js/lakebtc.js":109,"./js/lbank.js":110,"./js/liqui.js":111,"./js/livecoin.js":112,"./js/luno.js":113,"./js/lykke.js":114,"./js/mercado.js":115,"./js/mixcoins.js":116,"./js/negociecoins.js":117,"./js/nova.js":118,"./js/okcoincny.js":119,"./js/okcoinusd.js":120,"./js/okex.js":121,"./js/paymium.js":122,"./js/poloniex.js":123,"./js/qryptos.js":124,"./js/quadrigacx.js":125,"./js/quoinex.js":126,"./js/rightbtc.js":127,"./js/southxchange.js":128,"./js/surbitcoin.js":129,"./js/theocean.js":130,"./js/therock.js":131,"./js/tidebit.js":132,"./js/tidex.js":133,"./js/urdubit.js":134,"./js/vaultoro.js":135,"./js/vbtc.js":136,"./js/virwox.js":137,"./js/wex.js":138,"./js/xbtce.js":139,"./js/yobit.js":140,"./js/yunbi.js":141,"./js/zaif.js":142,"./js/zb.js":143}],3:[function(require,module,exports){ +},{"./js/_1broker.js":3,"./js/_1btcxe.js":4,"./js/acx.js":5,"./js/allcoin.js":6,"./js/anxpro.js":7,"./js/anybits.js":8,"./js/base/Exchange":9,"./js/base/errors":11,"./js/base/functions":12,"./js/bcex.js":23,"./js/bibox.js":24,"./js/bigone.js":25,"./js/binance.js":26,"./js/bit2c.js":27,"./js/bitbank.js":28,"./js/bitbay.js":29,"./js/bitfinex.js":30,"./js/bitfinex2.js":31,"./js/bitflyer.js":32,"./js/bithumb.js":33,"./js/bitkk.js":34,"./js/bitlish.js":35,"./js/bitmarket.js":36,"./js/bitmex.js":37,"./js/bitsane.js":38,"./js/bitso.js":39,"./js/bitstamp.js":40,"./js/bitstamp1.js":41,"./js/bittrex.js":42,"./js/bitz.js":43,"./js/bl3p.js":44,"./js/bleutrade.js":45,"./js/braziliex.js":46,"./js/btcalpha.js":47,"./js/btcbox.js":48,"./js/btcchina.js":49,"./js/btcexchange.js":50,"./js/btcmarkets.js":51,"./js/btctradeim.js":52,"./js/btctradeua.js":53,"./js/btcturk.js":54,"./js/btcx.js":55,"./js/bxinth.js":56,"./js/ccex.js":57,"./js/cex.js":58,"./js/chbtc.js":59,"./js/chilebit.js":60,"./js/cobinhood.js":61,"./js/coinbase.js":62,"./js/coinbasepro.js":63,"./js/coincheck.js":64,"./js/coinegg.js":65,"./js/coinex.js":66,"./js/coinexchange.js":67,"./js/coinfalcon.js":68,"./js/coinfloor.js":69,"./js/coingi.js":70,"./js/coinmarketcap.js":71,"./js/coinmate.js":72,"./js/coinnest.js":73,"./js/coinone.js":74,"./js/coinsecure.js":75,"./js/coinspot.js":76,"./js/cointiger.js":77,"./js/coolcoin.js":78,"./js/crypton.js":79,"./js/cryptopia.js":80,"./js/deribit.js":81,"./js/dsx.js":82,"./js/ethfinex.js":83,"./js/exmo.js":84,"./js/exx.js":85,"./js/fcoin.js":86,"./js/flowbtc.js":87,"./js/foxbit.js":88,"./js/fybse.js":89,"./js/fybsg.js":90,"./js/gatecoin.js":91,"./js/gateio.js":92,"./js/gdax.js":93,"./js/gemini.js":94,"./js/getbtc.js":95,"./js/hadax.js":96,"./js/hitbtc.js":97,"./js/hitbtc2.js":98,"./js/huobi.js":99,"./js/huobicny.js":100,"./js/huobipro.js":101,"./js/ice3x.js":102,"./js/independentreserve.js":103,"./js/indodax.js":104,"./js/itbit.js":105,"./js/jubi.js":106,"./js/kraken.js":107,"./js/kucoin.js":108,"./js/kuna.js":109,"./js/lakebtc.js":110,"./js/lbank.js":111,"./js/liqui.js":112,"./js/livecoin.js":113,"./js/luno.js":114,"./js/lykke.js":115,"./js/mercado.js":116,"./js/mixcoins.js":117,"./js/negociecoins.js":118,"./js/nova.js":119,"./js/okcoincny.js":120,"./js/okcoinusd.js":121,"./js/okex.js":122,"./js/paymium.js":123,"./js/poloniex.js":124,"./js/qryptos.js":125,"./js/quadrigacx.js":126,"./js/quoinex.js":127,"./js/rightbtc.js":128,"./js/southxchange.js":129,"./js/surbitcoin.js":130,"./js/theocean.js":131,"./js/therock.js":132,"./js/tidebit.js":133,"./js/tidex.js":134,"./js/urdubit.js":135,"./js/vaultoro.js":136,"./js/vbtc.js":137,"./js/virwox.js":138,"./js/wex.js":139,"./js/xbtce.js":140,"./js/yobit.js":141,"./js/yunbi.js":142,"./js/zaif.js":143,"./js/zb.js":144}],3:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -1286,7 +1287,7 @@ module.exports = class allcoin extends okcoinusd { } }; -},{"./okcoinusd.js":120}],7:[function(require,module,exports){ +},{"./okcoinusd.js":121}],7:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -1588,7 +1589,7 @@ module.exports = class anybits extends bitsane { } }; -},{"./bitsane.js":37}],9:[function(require,module,exports){ +},{"./bitsane.js":38}],9:[function(require,module,exports){ (function (Buffer){ "use strict"; @@ -2897,7 +2898,7 @@ module.exports = class Exchange { } }).call(this,require("buffer").Buffer) -},{"./Market":10,"./errors":11,"./functions":12,"bignumber.js":163,"buffer":197,"ethereumjs-abi":271,"ethereumjs-util":274,"fetch-ponyfill":281,"web3":460}],10:[function(require,module,exports){ +},{"./Market":10,"./errors":11,"./functions":12,"bignumber.js":164,"buffer":198,"ethereumjs-abi":272,"ethereumjs-util":275,"fetch-ponyfill":282,"web3":461}],10:[function(require,module,exports){ "use strict"; module.exports = class Market { @@ -3085,7 +3086,7 @@ module.exports = { /* ------------------------------------------------------------------------ */ -},{"./encode":14,"./string":19,"crypto-js":215}],14:[function(require,module,exports){ +},{"./encode":14,"./string":19,"crypto-js":216}],14:[function(require,module,exports){ "use strict"; /* ------------------------------------------------------------------------ */ @@ -3126,7 +3127,7 @@ module.exports = /* ------------------------------------------------------------------------ */ -},{"crypto-js":215,"qs":344}],15:[function(require,module,exports){ +},{"crypto-js":216,"qs":345}],15:[function(require,module,exports){ "use strict"; /* ------------------------------------------------------------------------ */ @@ -3741,7 +3742,7 @@ module.exports = { isWindows, } }).call(this,require('_process')) -},{"_process":335}],19:[function(require,module,exports){ +},{"_process":336}],19:[function(require,module,exports){ "use strict"; /* ------------------------------------------------------------------------ */ @@ -3966,6 +3967,477 @@ module.exports = // --------------------------------------------------------------------------- +const Exchange = require ('./base/Exchange'); +const { ExchangeError, AuthenticationError } = require ('./base/errors'); + +// --------------------------------------------------------------------------- + +module.exports = class bcex extends Exchange { + describe () { + return this.deepExtend (super.describe (), { + 'id': 'bcex', + 'name': 'BCEX', + 'countries': [ 'CN', 'CA' ], + 'version': '1', + 'has': { + 'fetchBalance': true, + 'fetchMarkets': true, + 'createOrder': true, + 'cancelOrder': true, + 'fetchTicker': true, + 'fetchTickers': false, + 'fetchTrades': true, + 'fetchOrder': true, + 'fetchOrders': true, + 'fetchOpenOrders': true, + }, + 'urls': { + 'logo': 'https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg', + 'api': 'https://www.bcex.top', + 'www': 'https://www.bcex.top', + 'doc': 'https://www.bcex.top/api_market/market/', + 'fees': 'http://bcex.udesk.cn/hc/articles/57085', + 'referral': 'https://www.bcex.top/user/reg/type/2/pid/758978', + }, + 'api': { + 'public': { + 'get': [ + 'Api_Market/getPriceList', // tickers + 'Api_Order/ticker', // last ohlcv candle (ticker) + 'Api_Order/depth', // orderbook + 'Api_Market/getCoinTrade', // ticker + 'Api_Order/marketOrder', // trades... + ], + 'post': [ + 'Api_Market/getPriceList', // tickers + 'Api_Order/ticker', // last ohlcv candle (ticker) + 'Api_Order/depth', // orderbook + 'Api_Market/getCoinTrade', // ticker + 'Api_Order/marketOrder', // trades... + ], + }, + 'private': { + 'post': [ + 'Api_Order/cancel', + 'Api_Order/coinTrust', // limit order + 'Api_Order/orderList', // open / all orders (my trades?) + 'Api_Order/orderInfo', + 'Api_Order/tradeList', // open / all orders + 'Api_Order/trustList', // ? + 'Api_User/userBalance', + ], + }, + }, + 'fees': { + 'trading': { + 'tierBased': false, + 'percentage': true, + 'bid': 0.0, + 'ask': 0.02 / 100, + }, + 'funding': { + 'tierBased': false, + 'percentage': false, + 'withdraw': { + 'ckusd': 0.0, + 'other': 0.05 / 100, + }, + 'deposit': {}, + }, + 'exceptions': { + '该币不存在,非法操作': ExchangeError, // { code: 1, msg: "该币不存在,非法操作" } - returned when a required symbol parameter is missing in the request (also, maybe on other types of errors as well) + '公钥不合法': AuthenticationError, // { code: 1, msg: '公钥不合法' } - wrong public key + }, + }, + }); + } + + async fetchMarkets () { + let response = await this.publicGetApiMarketGetPriceList (); + let result = []; + let keys = Object.keys (response); + for (let i = 0; i < keys.length; i++) { + let currentMarketId = keys[i]; + let currentMarkets = response[currentMarketId]; + for (let j = 0; j < currentMarkets.length; j++) { + let market = currentMarkets[j]; + let baseId = market['coin_from']; + let quoteId = market['coin_to']; + let base = baseId.toUpperCase (); + let quote = quoteId.toUpperCase (); + base = this.commonCurrencyCode (base); + quote = this.commonCurrencyCode (quote); + let id = baseId + '2' + quoteId; + let symbol = base + '/' + quote; + let active = true; + let precision = { + 'amount': undefined, // todo: might need this for proper order placement + 'price': undefined, // todo: find a way to get these values + }; + let limits = { + 'amount': { + 'min': undefined, // todo + 'max': undefined, + }, + 'price': { + 'min': undefined, // todo + 'max': undefined, + }, + 'cost': { + 'min': undefined, // todo + 'max': undefined, + }, + }; + result.push ({ + 'id': id, + 'symbol': symbol, + 'base': base, + 'quote': quote, + 'baseId': baseId, + 'quoteId': quoteId, + 'active': active, + 'precision': precision, + 'limits': limits, + 'info': market, + }); + } + } + return result; + } + + parseTrade (trade, market = undefined) { + let symbol = undefined; + if (typeof market !== 'undefined') { + symbol = market['symbol']; + } + let timestamp = this.safeInteger2 (trade, 'date', 'created'); + if (typeof timestamp !== 'undefined') { + timestamp = timestamp * 1000; + } + let id = this.safeString2 (trade, 'tid'); + let orderId = this.safeString (trade, 'order_id'); + let amount = this.safeFloat2 (trade, 'number', 'amount'); + let price = this.safeFloat (trade, 'price'); + let cost = undefined; + if (typeof price !== 'undefined') { + if (typeof amount !== 'undefined') { + cost = amount * price; + } + } + let side = this.safeString (trade, 'type'); + return { + 'info': trade, + 'id': id, + 'timestamp': timestamp, + 'datetime': this.iso8601 (timestamp), + 'symbol': symbol, + 'type': undefined, + 'side': side, + 'price': price, + 'amount': amount, + 'cost': cost, + 'order': orderId, + 'fee': undefined, + }; + } + + async fetchTrades (symbol, since = undefined, limit = undefined, params = {}) { + await this.loadMarkets (); + let request = { + 'symbol': this.marketId (symbol), + }; + if (typeof limit !== 'undefined') { + request['limit'] = limit; + } + let market = this.market (symbol); + let response = await this.publicPostApiOrderMarketOrder (this.extend (request, params)); + return this.parseTrades (response['data'], market, since, limit); + } + + async fetchBalance (params = {}) { + await this.loadMarkets (); + let response = await this.privatePostApiUserUserBalance (params); + let data = response['data']; + let keys = Object.keys (data); + let result = { }; + for (let i = 0; i < keys.length; i++) { + let key = keys[i]; + let amount = this.safeFloat (data, key); + let parts = key.split ('_'); + let currencyId = parts[0]; + let lockOrOver = parts[1]; + let code = currencyId.toUpperCase (); + if (currencyId in this.currencies_by_id) { + code = this.currencies_by_id[currencyId]['code']; + } else { + code = this.commonCurrencyCode (code); + } + if (!(code in result)) { + let account = this.account (); + result[code] = account; + } + if (lockOrOver === 'lock') { + result[code]['used'] = parseFloat (amount); + } else { + result[code]['free'] = parseFloat (amount); + } + } + keys = Object.keys (result); + for (let i = 0; i < keys.length; i++) { + let key = keys[i]; + let total = this.sum (result[key]['used'], result[key]['total']); + result[key]['total'] = total; + } + result['info'] = data; + return this.parseBalance (result); + } + + async fetchTicker (symbol, params = {}) { + await this.loadMarkets (); + let market = this.markets[symbol]; + let request = { + 'part': market['quoteId'], + 'coin': market['baseId'], + }; + let response = await this.publicPostApiMarketGetCoinTrade (this.extend (request, params)); + let timestamp = this.milliseconds (); + return { + 'symbol': symbol, + 'timestamp': timestamp, + 'datetime': this.iso8601 (timestamp), + 'high': this.safeFloat (response, 'max'), + 'low': this.safeFloat (response, 'min'), + 'bid': this.safeFloat (response, 'buy'), + 'bidVolume': undefined, + 'ask': this.safeFloat (response, 'sale'), + 'askVolume': undefined, + 'vwap': undefined, + 'open': undefined, + 'close': this.safeFloat (response, 'price'), + 'last': this.safeFloat (response, 'price'), + 'previousClose': undefined, + 'change': undefined, + 'percentage': this.safeFloat (response, 'change_24h'), + 'average': undefined, + 'baseVolume': this.safeFloat (response, 'volume_24h'), + 'quoteVolume': undefined, + 'info': response, + }; + } + + async fetchOrderBook (symbol, limit = undefined, params = {}) { + await this.loadMarkets (); + let marketId = this.marketId (symbol); + let request = { + 'symbol': marketId, + }; + let response = await this.publicPostApiOrderDepth (this.extend (request, params)); + let data = response['data']; + let orderbook = this.parseOrderBook (data, data['date'] * 1000); + return orderbook; + } + + async fetchMyTrades (symbol = undefined, since = undefined, limit = undefined, params = {}) { + await this.loadMarkets (); + let market = this.market (symbol); + let request = { + 'symbol': market['id'], + }; + let response = await this.privatePostApiOrderOrderList (this.extend (request, params)); + return this.parseTrades (response['data'], market, since, limit); + } + + parseOrderStatus (status) { + let statuses = { + '0': 'open', + '1': 'open', // partially filled + '2': 'closed', + '3': 'canceled', + }; + if (status in statuses) { + return statuses[status]; + } + return status; + } + + async fetchOrder (id, symbol = undefined, params = {}) { + await this.loadMarkets (); + let request = { + 'symbol': this.marketId (symbol), + 'trust_id': id, + }; + let response = await this.privatePostApiOrderOrderInfo (this.extend (request, params)); + let order = response['data']; + let timestamp = order['created'] * 1000; + let status = this.parseStatus (order['status']); + let result = { + 'info': order, + 'id': id, + 'timestamp': timestamp, + 'datetime': this.iso8601 (timestamp), + 'lastTradeTimestamp': undefined, + 'symbol': symbol, + 'type': order['flag'], + 'side': undefined, + 'price': order['price'], + 'cost': undefined, + 'average': undefined, + 'amount': order['number'], + 'filled': order['numberdeal'], + 'remaining': order['numberover'], + 'status': status, + 'fee': undefined, + }; + return result; + } + + parseOrder (order, market = undefined) { + let id = this.safeString (order, 'id'); + let timestamp = order['datetime'] * 1000; + let iso8601 = this.iso8601 (timestamp); + let symbol = market['symbol']; + let type = undefined; + let side = order['type']; + let price = order['price']; + let average = order['avg_price']; + let amount = order['amount']; + let remaining = order['amount_outstanding']; + let filled = amount - remaining; + let status = this.safeString (order, 'status'); + status = this.parseOrderStatus (status); + let cost = filled * price; + let fee = undefined; + let result = { + 'info': order, + 'id': id, + 'timestamp': timestamp, + 'datetime': iso8601, + 'lastTradeTimestamp': undefined, + 'symbol': symbol, + 'type': type, + 'side': side, + 'price': price, + 'cost': cost, + 'average': average, + 'amount': amount, + 'filled': filled, + 'remaining': remaining, + 'status': status, + 'fee': fee, + }; + return result; + } + + async fetchOrdersByType (type, symbol = undefined, since = undefined, limit = undefined, params = {}) { + await this.loadMarkets (); + let request = { + 'type': type, + }; + let market = undefined; + if (typeof symbol !== 'undefined') { + market = this.market (symbol); + request['symbol'] = market['id']; + } + let response = await this.privatePostApiOrderTradeList (this.extend (request, params)); + if ('data' in response) { + return this.parseOrders (response['data'], market, since, limit); + } + return []; + } + + async fetchOpenOrders (symbol = undefined, since = undefined, limit = undefined, params = {}) { + return this.fetchOrdersByType ('open', symbol, since, limit, params); + } + + async fetchOrders (symbol = undefined, since = undefined, limit = undefined, params = {}) { + return this.fetchOrdersByType ('all', symbol, since, limit, params); + } + + async createOrder (symbol, type, side, amount, price = undefined, params = {}) { + await this.loadMarkets (); + let order = { + 'symbol': this.marketId (symbol), + 'type': side, + 'price': price, + 'number': amount, + }; + let response = await this.privatePostApiOrderCoinTrust (this.extend (order, params)); + let data = response['data']; + return { + 'info': response, + 'id': this.safeString (data, 'order_id'), + }; + } + + async cancelOrder (id, symbol = undefined, params = {}) { + await this.loadMarkets (); + let request = {}; + if (typeof symbol !== 'undefined') { + request['symbol'] = symbol; + } + if (typeof id !== 'undefined') { + request['order_id'] = id; + } + let results = await this.privatePostApiOrderCancel (this.extend (request, params)); + return results; + } + + sign (path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) { + let url = this.urls['api'] + '/' + this.implodeParams (path, params); + let query = this.omit (params, this.extractParams (path)); + if (api === 'public') { + if (Object.keys (query).length) { + url += '?' + this.urlencode (query); + } + } else { + this.checkRequiredCredentials (); + let payload = this.urlencode ({ 'api_key': this.apiKey }); + if (Object.keys (query).length) { + payload += this.urlencode (this.keysort (query)); + } + let auth = payload + '&secret_key=' + this.secret; + let signature = this.hash (auth); + body = payload + '&sign=' + signature; + headers = { + 'Content-Type': 'application/x-www-form-urlencoded', + }; + } + return { 'url': url, 'method': method, 'body': body, 'headers': headers }; + } + + handleErrors (code, reason, url, method, headers, body) { + if (typeof body !== 'string') + return; // fallback to default error handler + if (body.length < 2) + return; // fallback to default error handler + if ((body[0] === '{') || (body[0] === '[')) { + let response = JSON.parse (body); + let feedback = this.id + ' ' + body; + let code = this.safeValue (response, 'code'); + if (typeof code !== 'undefined') { + if (code !== 0) { + // + // { code: 1, msg: "该币不存在,非法操作" } - returned when a required symbol parameter is missing in the request (also, maybe on other types of errors as well) + // { code: 1, msg: '公钥不合法' } - wrong public key + // + let message = this.safeString (response, 'msg'); + let exceptions = this.exceptions; + if (message in exceptions) { + throw new exceptions[message] (feedback); + } else { + throw new ExchangeError (feedback); + } + } + } + } + } +}; + +},{"./base/Exchange":9,"./base/errors":11}],24:[function(require,module,exports){ +'use strict'; + +// --------------------------------------------------------------------------- + const Exchange = require ('./base/Exchange'); const { ExchangeError, AuthenticationError, DDoSProtection, ExchangeNotAvailable, InvalidOrder, OrderNotFound, PermissionDenied, InsufficientFunds } = require ('./base/errors'); @@ -4680,7 +5152,7 @@ module.exports = class bibox extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],24:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],25:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -5335,7 +5807,7 @@ module.exports = class bigone extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],25:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],26:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -6310,7 +6782,7 @@ module.exports = class binance extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],26:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],27:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -6632,7 +7104,7 @@ module.exports = class bit2c extends Exchange { }; -},{"./base/Exchange":9,"./base/errors":11}],27:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],28:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -7165,7 +7637,7 @@ module.exports = class bitbank extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],28:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],29:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -7516,7 +7988,7 @@ module.exports = class bitbay extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],29:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],30:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -8439,7 +8911,7 @@ module.exports = class bitfinex extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11,"./base/functions/number":17}],30:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11,"./base/functions/number":17}],31:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -8924,7 +9396,7 @@ module.exports = class bitfinex2 extends bitfinex { } }; -},{"./base/errors":11,"./bitfinex.js":29}],31:[function(require,module,exports){ +},{"./base/errors":11,"./bitfinex.js":30}],32:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -9347,7 +9819,7 @@ module.exports = class bitflyer extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],32:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],33:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -9730,7 +10202,7 @@ module.exports = class bithumb extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],33:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],34:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -9758,7 +10230,7 @@ module.exports = class bitkk extends zb { } }; -},{"./zb.js":143}],34:[function(require,module,exports){ +},{"./zb.js":144}],35:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -10110,7 +10582,7 @@ module.exports = class bitlish extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],35:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],36:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -10482,7 +10954,7 @@ module.exports = class bitmarket extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],36:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],37:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -11112,7 +11584,7 @@ module.exports = class bitmex extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],37:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],38:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -11574,7 +12046,7 @@ module.exports = class bitsane extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],38:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],39:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -12095,7 +12567,7 @@ module.exports = class bitso extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],39:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],40:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -12757,7 +13229,7 @@ module.exports = class bitstamp extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],40:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],41:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -13018,7 +13490,7 @@ module.exports = class bitstamp1 extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],41:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],42:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -13837,7 +14309,7 @@ module.exports = class bittrex extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],42:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],43:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -14279,7 +14751,7 @@ module.exports = class bitz extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],43:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],44:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -14489,7 +14961,7 @@ module.exports = class bl3p extends Exchange { } }; -},{"./base/Exchange":9}],44:[function(require,module,exports){ +},{"./base/Exchange":9}],45:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -14697,7 +15169,7 @@ module.exports = class bleutrade extends bittrex { } }; -},{"./base/errors":11,"./bittrex.js":41}],45:[function(require,module,exports){ +},{"./base/errors":11,"./bittrex.js":42}],46:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -15169,7 +15641,7 @@ module.exports = class braziliex extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],46:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],47:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -15581,7 +16053,7 @@ module.exports = class btcalpha extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],47:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],48:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -15920,7 +16392,7 @@ module.exports = class btcbox extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],48:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],49:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -16257,7 +16729,7 @@ module.exports = class btcchina extends Exchange { } }; -},{"./base/Exchange":9}],49:[function(require,module,exports){ +},{"./base/Exchange":9}],50:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -16289,7 +16761,7 @@ module.exports = class btcexchange extends btcturk { } }; -},{"./btcturk.js":53}],50:[function(require,module,exports){ +},{"./btcturk.js":54}],51:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -16733,7 +17205,7 @@ module.exports = class btcmarkets extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],51:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],52:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -16799,7 +17271,7 @@ module.exports = class btctradeim extends coinegg { } }; -},{"./base/errors":11,"./coinegg.js":64}],52:[function(require,module,exports){ +},{"./base/errors":11,"./coinegg.js":65}],53:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -17142,7 +17614,7 @@ module.exports = class btctradeua extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],53:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],54:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -17435,7 +17907,7 @@ module.exports = class btcturk extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],54:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],55:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -17614,7 +18086,7 @@ module.exports = class btcx extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],55:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],56:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -17922,7 +18394,7 @@ module.exports = class bxinth extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],56:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],57:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -18263,7 +18735,7 @@ module.exports = class ccex extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],57:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],58:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -18820,7 +19292,7 @@ module.exports = class cex extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],58:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],59:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -18883,7 +19355,7 @@ module.exports = class chbtc extends zb { } }; -},{"./base/errors":11,"./zb.js":143}],59:[function(require,module,exports){ +},{"./base/errors":11,"./zb.js":144}],60:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -18917,7 +19389,7 @@ module.exports = class chilebit extends foxbit { } }; -},{"./foxbit.js":87}],60:[function(require,module,exports){ +},{"./foxbit.js":88}],61:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -19548,7 +20020,7 @@ module.exports = class cobinhood extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],61:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],62:[function(require,module,exports){ 'use strict'; // ---------------------------------------------------------------------------- @@ -19907,7 +20379,7 @@ module.exports = class coinbase extends Exchange { }; -},{"./base/Exchange":9,"./base/errors":11}],62:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],63:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -19935,7 +20407,7 @@ module.exports = class coinbasepro extends gdax { } }; -},{"./gdax.js":92}],63:[function(require,module,exports){ +},{"./gdax.js":93}],64:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -20184,7 +20656,7 @@ module.exports = class coincheck extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],64:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],65:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -20719,7 +21191,7 @@ module.exports = class coinegg extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],65:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],66:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -21275,7 +21747,7 @@ module.exports = class coinex extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11,"./base/functions/number":17}],66:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11,"./base/functions/number":17}],67:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -21996,7 +22468,7 @@ module.exports = class coinexchange extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],67:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],68:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -22367,7 +22839,7 @@ module.exports = class coinfalcon extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],68:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],69:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -22630,7 +23102,7 @@ module.exports = class coinfloor extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],69:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],70:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -22952,7 +23424,7 @@ module.exports = class coingi extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],70:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],71:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -23267,7 +23739,7 @@ module.exports = class coinmarketcap extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],71:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],72:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -23486,7 +23958,7 @@ module.exports = class coinmate extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],72:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],73:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -23871,7 +24343,7 @@ module.exports = class coinnest extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],73:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],74:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -24358,7 +24830,7 @@ module.exports = class coinone extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],74:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],75:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -24697,7 +25169,7 @@ module.exports = class coinsecure extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],75:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],76:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -24861,7 +25333,7 @@ module.exports = class coinspot extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],76:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],77:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -25759,7 +26231,7 @@ module.exports = class cointiger extends huobipro { } }; -},{"./base/errors":11,"./base/functions/number":17,"./huobipro.js":100}],77:[function(require,module,exports){ +},{"./base/errors":11,"./base/functions/number":17,"./huobipro.js":101}],78:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -25827,7 +26299,7 @@ module.exports = class coolcoin extends coinegg { } }; -},{"./coinegg.js":64}],78:[function(require,module,exports){ +},{"./coinegg.js":65}],79:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -26241,7 +26713,7 @@ module.exports = class crypton extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],79:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],80:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -27054,7 +27526,7 @@ module.exports = class cryptopia extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],80:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],81:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -27481,7 +27953,7 @@ module.exports = class deribit extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],81:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],82:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -27638,7 +28110,7 @@ module.exports = class dsx extends liqui { } }; -},{"./liqui.js":111}],82:[function(require,module,exports){ +},{"./liqui.js":112}],83:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -27701,7 +28173,7 @@ module.exports = class ethfinex extends bitfinex { } }; -},{"./bitfinex.js":29}],83:[function(require,module,exports){ +},{"./bitfinex.js":30}],84:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -28376,7 +28848,7 @@ module.exports = class exmo extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],84:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],85:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -28787,7 +29259,7 @@ module.exports = class exx extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],85:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],86:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -29351,7 +29823,7 @@ module.exports = class fcoin extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],86:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],87:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -29614,7 +30086,7 @@ module.exports = class flowbtc extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11,"./base/functions/number":17}],87:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11,"./base/functions/number":17}],88:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -29835,7 +30307,7 @@ module.exports = class foxbit extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],88:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],89:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -30013,7 +30485,7 @@ module.exports = class fybse extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],89:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],90:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -30044,7 +30516,7 @@ module.exports = class fybsg extends fybse { } }; -},{"./fybse.js":88}],90:[function(require,module,exports){ +},{"./fybse.js":89}],91:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -30747,7 +31219,7 @@ module.exports = class gatecoin extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],91:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],92:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -31364,7 +31836,7 @@ module.exports = class gateio extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],92:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],93:[function(require,module,exports){ 'use strict'; // ---------------------------------------------------------------------------- @@ -32024,7 +32496,7 @@ module.exports = class gdax extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],93:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],94:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -32421,7 +32893,7 @@ module.exports = class gemini extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],94:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],95:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -32462,7 +32934,7 @@ module.exports = class getbtc extends _1btcxe { } }; -},{"./_1btcxe.js":4}],95:[function(require,module,exports){ +},{"./_1btcxe.js":4}],96:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -32546,7 +33018,7 @@ module.exports = class hadax extends huobipro { } }; -},{"./base/errors":11,"./huobipro.js":100}],96:[function(require,module,exports){ +},{"./base/errors":11,"./huobipro.js":101}],97:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -33502,7 +33974,7 @@ module.exports = class hitbtc extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],97:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],98:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -34669,7 +35141,7 @@ module.exports = class hitbtc2 extends hitbtc { } }; -},{"./base/errors":11,"./hitbtc":96}],98:[function(require,module,exports){ +},{"./base/errors":11,"./hitbtc":97}],99:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -34927,7 +35399,7 @@ module.exports = class huobi extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],99:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],100:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -34955,7 +35427,7 @@ module.exports = class huobicny extends huobipro { } }; -},{"./huobipro.js":100}],100:[function(require,module,exports){ +},{"./huobipro.js":101}],101:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -35782,7 +36254,7 @@ module.exports = class huobipro extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],101:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],102:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -36221,7 +36693,7 @@ module.exports = class ice3x extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],102:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],103:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -36615,7 +37087,7 @@ module.exports = class independentreserve extends Exchange { } }; -},{"./base/Exchange":9}],103:[function(require,module,exports){ +},{"./base/Exchange":9}],104:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -37069,7 +37541,7 @@ module.exports = class indodax extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],104:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],105:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -37388,7 +37860,7 @@ module.exports = class itbit extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],105:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],106:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -37441,7 +37913,7 @@ module.exports = class jubi extends btcbox { } }; -},{"./btcbox.js":47}],106:[function(require,module,exports){ +},{"./btcbox.js":48}],107:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -38379,7 +38851,7 @@ module.exports = class kraken extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],107:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],108:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -39603,7 +40075,7 @@ module.exports = class kucoin extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],108:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],109:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -39789,7 +40261,7 @@ module.exports = class kuna extends acx { } }; -},{"./acx.js":5,"./base/errors":11}],109:[function(require,module,exports){ +},{"./acx.js":5,"./base/errors":11}],110:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -40060,7 +40532,7 @@ module.exports = class lakebtc extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],110:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],111:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -40593,7 +41065,7 @@ module.exports = class lbank extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],111:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],112:[function(require,module,exports){ 'use strict'; const Exchange = require ('./base/Exchange'); @@ -41368,7 +41840,7 @@ module.exports = class liqui extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],112:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],113:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -42050,7 +42522,7 @@ module.exports = class livecoin extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],113:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],114:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -42364,7 +42836,7 @@ module.exports = class luno extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],114:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],115:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -42737,7 +43209,7 @@ module.exports = class lykke extends Exchange { } }; -},{"./base/Exchange":9}],115:[function(require,module,exports){ +},{"./base/Exchange":9}],116:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -43052,7 +43524,7 @@ module.exports = class mercado extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],116:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],117:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -43241,7 +43713,7 @@ module.exports = class mixcoins extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],117:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],118:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -43591,7 +44063,7 @@ module.exports = class negociecoins extends Exchange { } }; -},{"./base/Exchange":9}],118:[function(require,module,exports){ +},{"./base/Exchange":9}],119:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -43826,7 +44298,7 @@ module.exports = class nova extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],119:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],120:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -43865,7 +44337,7 @@ module.exports = class okcoincny extends okcoinusd { } }; -},{"./okcoinusd.js":120}],120:[function(require,module,exports){ +},{"./okcoinusd.js":121}],121:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -44692,7 +45164,7 @@ module.exports = class okcoinusd extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],121:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],122:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -44814,7 +45286,7 @@ module.exports = class okex extends okcoinusd { } }; -},{"./okcoinusd.js":120}],122:[function(require,module,exports){ +},{"./okcoinusd.js":121}],123:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -45031,7 +45503,7 @@ module.exports = class paymium extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],123:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],124:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -45915,7 +46387,7 @@ module.exports = class poloniex extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],124:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],125:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -46451,7 +46923,7 @@ module.exports = class qryptos extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],125:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],126:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -46764,7 +47236,7 @@ module.exports = class quadrigacx extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],126:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],127:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -46799,7 +47271,7 @@ module.exports = class quoinex extends qryptos { } }; -},{"./qryptos.js":124}],127:[function(require,module,exports){ +},{"./qryptos.js":125}],128:[function(require,module,exports){ 'use strict'; const Exchange = require ('./base/Exchange'); @@ -47565,7 +48037,7 @@ module.exports = class rightbtc extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],128:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],129:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -47901,7 +48373,7 @@ module.exports = class southxchange extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],129:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],130:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -47935,7 +48407,7 @@ module.exports = class surbitcoin extends foxbit { } }; -},{"./foxbit.js":87}],130:[function(require,module,exports){ +},{"./foxbit.js":88}],131:[function(require,module,exports){ 'use strict'; const Exchange = require ('./base/Exchange'); @@ -49074,7 +49546,7 @@ module.exports = class theocean extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11,"./base/functions/number":17}],131:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11,"./base/functions/number":17}],132:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -49357,7 +49829,7 @@ module.exports = class therock extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],132:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],133:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -49784,7 +50256,7 @@ module.exports = class tidebit extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],133:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],134:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -49951,7 +50423,7 @@ module.exports = class tidex extends liqui { } }; -},{"./liqui.js":111}],134:[function(require,module,exports){ +},{"./liqui.js":112}],135:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -49985,7 +50457,7 @@ module.exports = class urdubit extends foxbit { } }; -},{"./foxbit.js":87}],135:[function(require,module,exports){ +},{"./foxbit.js":88}],136:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -50204,7 +50676,7 @@ module.exports = class vaultoro extends Exchange { } }; -},{"./base/Exchange":9}],136:[function(require,module,exports){ +},{"./base/Exchange":9}],137:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -50238,7 +50710,7 @@ module.exports = class vbtc extends foxbit { } }; -},{"./foxbit.js":87}],137:[function(require,module,exports){ +},{"./foxbit.js":88}],138:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -50531,7 +51003,7 @@ module.exports = class virwox extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],138:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],139:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -50698,7 +51170,7 @@ module.exports = class wex extends liqui { } }; -},{"./base/errors":11,"./liqui.js":111}],139:[function(require,module,exports){ +},{"./base/errors":11,"./liqui.js":112}],140:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -51043,7 +51515,7 @@ module.exports = class xbtce extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],140:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],141:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -51298,7 +51770,7 @@ module.exports = class yobit extends liqui { } }; -},{"./base/errors":11,"./liqui.js":111}],141:[function(require,module,exports){ +},{"./base/errors":11,"./liqui.js":112}],142:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -51381,7 +51853,7 @@ module.exports = class yunbi extends acx { } }; -},{"./acx.js":5}],142:[function(require,module,exports){ +},{"./acx.js":5}],143:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -51788,7 +52260,7 @@ module.exports = class zaif extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],143:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],144:[function(require,module,exports){ 'use strict'; // --------------------------------------------------------------------------- @@ -52348,10 +52820,10 @@ module.exports = class zb extends Exchange { } }; -},{"./base/Exchange":9,"./base/errors":11}],144:[function(require,module,exports){ +},{"./base/Exchange":9,"./base/errors":11}],145:[function(require,module,exports){ module.exports = require('./register')().Promise -},{"./register":146}],145:[function(require,module,exports){ +},{"./register":147}],146:[function(require,module,exports){ "use strict" // global key for user preferred registration var REGISTRATION_KEY = '@@any-promise/REGISTRATION', @@ -52431,7 +52903,7 @@ module.exports = function(root, loadImplementation){ } } -},{}],146:[function(require,module,exports){ +},{}],147:[function(require,module,exports){ "use strict"; module.exports = require('./loader')(window, loadImplementation) @@ -52451,7 +52923,7 @@ function loadImplementation(){ } } -},{"./loader":145}],147:[function(require,module,exports){ +},{"./loader":146}],148:[function(require,module,exports){ var asn1 = exports; asn1.bignum = require('bn.js'); @@ -52462,7 +52934,7 @@ asn1.constants = require('./asn1/constants'); asn1.decoders = require('./asn1/decoders'); asn1.encoders = require('./asn1/encoders'); -},{"./asn1/api":148,"./asn1/base":150,"./asn1/constants":154,"./asn1/decoders":156,"./asn1/encoders":159,"bn.js":165}],148:[function(require,module,exports){ +},{"./asn1/api":149,"./asn1/base":151,"./asn1/constants":155,"./asn1/decoders":157,"./asn1/encoders":160,"bn.js":166}],149:[function(require,module,exports){ var asn1 = require('../asn1'); var inherits = require('inherits'); @@ -52525,7 +52997,7 @@ Entity.prototype.encode = function encode(data, enc, /* internal */ reporter) { return this._getEncoder(enc).encode(data, reporter); }; -},{"../asn1":147,"inherits":300,"vm":407}],149:[function(require,module,exports){ +},{"../asn1":148,"inherits":301,"vm":408}],150:[function(require,module,exports){ var inherits = require('inherits'); var Reporter = require('../base').Reporter; var Buffer = require('buffer').Buffer; @@ -52643,7 +53115,7 @@ EncoderBuffer.prototype.join = function join(out, offset) { return out; }; -},{"../base":150,"buffer":197,"inherits":300}],150:[function(require,module,exports){ +},{"../base":151,"buffer":198,"inherits":301}],151:[function(require,module,exports){ var base = exports; base.Reporter = require('./reporter').Reporter; @@ -52651,7 +53123,7 @@ base.DecoderBuffer = require('./buffer').DecoderBuffer; base.EncoderBuffer = require('./buffer').EncoderBuffer; base.Node = require('./node'); -},{"./buffer":149,"./node":151,"./reporter":152}],151:[function(require,module,exports){ +},{"./buffer":150,"./node":152,"./reporter":153}],152:[function(require,module,exports){ var Reporter = require('../base').Reporter; var EncoderBuffer = require('../base').EncoderBuffer; var DecoderBuffer = require('../base').DecoderBuffer; @@ -53287,7 +53759,7 @@ Node.prototype._isPrintstr = function isPrintstr(str) { return /^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(str); }; -},{"../base":150,"minimalistic-assert":317}],152:[function(require,module,exports){ +},{"../base":151,"minimalistic-assert":318}],153:[function(require,module,exports){ var inherits = require('inherits'); function Reporter(options) { @@ -53410,7 +53882,7 @@ ReporterError.prototype.rethrow = function rethrow(msg) { return this; }; -},{"inherits":300}],153:[function(require,module,exports){ +},{"inherits":301}],154:[function(require,module,exports){ var constants = require('../constants'); exports.tagClass = { @@ -53454,7 +53926,7 @@ exports.tag = { }; exports.tagByName = constants._reverse(exports.tag); -},{"../constants":154}],154:[function(require,module,exports){ +},{"../constants":155}],155:[function(require,module,exports){ var constants = exports; // Helper @@ -53475,7 +53947,7 @@ constants._reverse = function reverse(map) { constants.der = require('./der'); -},{"./der":153}],155:[function(require,module,exports){ +},{"./der":154}],156:[function(require,module,exports){ var inherits = require('inherits'); var asn1 = require('../../asn1'); @@ -53801,13 +54273,13 @@ function derDecodeLen(buf, primitive, fail) { return len; } -},{"../../asn1":147,"inherits":300}],156:[function(require,module,exports){ +},{"../../asn1":148,"inherits":301}],157:[function(require,module,exports){ var decoders = exports; decoders.der = require('./der'); decoders.pem = require('./pem'); -},{"./der":155,"./pem":157}],157:[function(require,module,exports){ +},{"./der":156,"./pem":158}],158:[function(require,module,exports){ var inherits = require('inherits'); var Buffer = require('buffer').Buffer; @@ -53858,7 +54330,7 @@ PEMDecoder.prototype.decode = function decode(data, options) { return DERDecoder.prototype.decode.call(this, input, options); }; -},{"./der":155,"buffer":197,"inherits":300}],158:[function(require,module,exports){ +},{"./der":156,"buffer":198,"inherits":301}],159:[function(require,module,exports){ var inherits = require('inherits'); var Buffer = require('buffer').Buffer; @@ -54155,13 +54627,13 @@ function encodeTag(tag, primitive, cls, reporter) { return res; } -},{"../../asn1":147,"buffer":197,"inherits":300}],159:[function(require,module,exports){ +},{"../../asn1":148,"buffer":198,"inherits":301}],160:[function(require,module,exports){ var encoders = exports; encoders.der = require('./der'); encoders.pem = require('./pem'); -},{"./der":158,"./pem":160}],160:[function(require,module,exports){ +},{"./der":159,"./pem":161}],161:[function(require,module,exports){ var inherits = require('inherits'); var DEREncoder = require('./der'); @@ -54184,7 +54656,7 @@ PEMEncoder.prototype.encode = function encode(data, options) { return out.join('\n'); }; -},{"./der":158,"inherits":300}],161:[function(require,module,exports){ +},{"./der":159,"inherits":301}],162:[function(require,module,exports){ (function (global){ 'use strict'; @@ -54678,7 +55150,7 @@ var objectKeys = Object.keys || function (obj) { }; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"util/":406}],162:[function(require,module,exports){ +},{"util/":407}],163:[function(require,module,exports){ 'use strict' exports.byteLength = byteLength @@ -54794,7 +55266,7 @@ function fromByteArray (uint8) { return parts.join('') } -},{}],163:[function(require,module,exports){ +},{}],164:[function(require,module,exports){ ;(function (globalObject) { 'use strict'; @@ -57610,7 +58082,7 @@ function fromByteArray (uint8) { } })(this); -},{}],164:[function(require,module,exports){ +},{}],165:[function(require,module,exports){ // Reference https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki // Format: 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S] // NOTE: SIGHASH byte ignored AND restricted, truncate before use @@ -57725,7 +58197,7 @@ module.exports = { encode: encode } -},{"safe-buffer":372}],165:[function(require,module,exports){ +},{"safe-buffer":373}],166:[function(require,module,exports){ (function (module, exports) { 'use strict'; @@ -61154,7 +61626,7 @@ module.exports = { }; })(typeof module === 'undefined' || module, this); -},{"buffer":167}],166:[function(require,module,exports){ +},{"buffer":168}],167:[function(require,module,exports){ var r; module.exports = function rand(len) { @@ -61221,9 +61693,9 @@ if (typeof self === 'object') { } } -},{"crypto":167}],167:[function(require,module,exports){ +},{"crypto":168}],168:[function(require,module,exports){ -},{}],168:[function(require,module,exports){ +},{}],169:[function(require,module,exports){ // based on the aes implimentation in triple sec // https://github.com/keybase/triplesec // which is in turn based on the one from crypto-js @@ -61453,7 +61925,7 @@ AES.prototype.scrub = function () { module.exports.AES = AES -},{"safe-buffer":372}],169:[function(require,module,exports){ +},{"safe-buffer":373}],170:[function(require,module,exports){ var aes = require('./aes') var Buffer = require('safe-buffer').Buffer var Transform = require('cipher-base') @@ -61572,7 +62044,7 @@ StreamCipher.prototype.setAAD = function setAAD (buf) { module.exports = StreamCipher -},{"./aes":168,"./ghash":173,"./incr32":174,"buffer-xor":196,"cipher-base":198,"inherits":300,"safe-buffer":372}],170:[function(require,module,exports){ +},{"./aes":169,"./ghash":174,"./incr32":175,"buffer-xor":197,"cipher-base":199,"inherits":301,"safe-buffer":373}],171:[function(require,module,exports){ var ciphers = require('./encrypter') var deciphers = require('./decrypter') var modes = require('./modes/list.json') @@ -61587,7 +62059,7 @@ exports.createDecipher = exports.Decipher = deciphers.createDecipher exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv exports.listCiphers = exports.getCiphers = getCiphers -},{"./decrypter":171,"./encrypter":172,"./modes/list.json":182}],171:[function(require,module,exports){ +},{"./decrypter":172,"./encrypter":173,"./modes/list.json":183}],172:[function(require,module,exports){ var AuthCipher = require('./authCipher') var Buffer = require('safe-buffer').Buffer var MODES = require('./modes') @@ -61710,7 +62182,7 @@ function createDecipher (suite, password) { exports.createDecipher = createDecipher exports.createDecipheriv = createDecipheriv -},{"./aes":168,"./authCipher":169,"./modes":181,"./streamCipher":184,"cipher-base":198,"evp_bytestokey":280,"inherits":300,"safe-buffer":372}],172:[function(require,module,exports){ +},{"./aes":169,"./authCipher":170,"./modes":182,"./streamCipher":185,"cipher-base":199,"evp_bytestokey":281,"inherits":301,"safe-buffer":373}],173:[function(require,module,exports){ var MODES = require('./modes') var AuthCipher = require('./authCipher') var Buffer = require('safe-buffer').Buffer @@ -61826,7 +62298,7 @@ function createCipher (suite, password) { exports.createCipheriv = createCipheriv exports.createCipher = createCipher -},{"./aes":168,"./authCipher":169,"./modes":181,"./streamCipher":184,"cipher-base":198,"evp_bytestokey":280,"inherits":300,"safe-buffer":372}],173:[function(require,module,exports){ +},{"./aes":169,"./authCipher":170,"./modes":182,"./streamCipher":185,"cipher-base":199,"evp_bytestokey":281,"inherits":301,"safe-buffer":373}],174:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var ZEROES = Buffer.alloc(16, 0) @@ -61917,7 +62389,7 @@ GHASH.prototype.final = function (abl, bl) { module.exports = GHASH -},{"safe-buffer":372}],174:[function(require,module,exports){ +},{"safe-buffer":373}],175:[function(require,module,exports){ function incr32 (iv) { var len = iv.length var item @@ -61934,7 +62406,7 @@ function incr32 (iv) { } module.exports = incr32 -},{}],175:[function(require,module,exports){ +},{}],176:[function(require,module,exports){ var xor = require('buffer-xor') exports.encrypt = function (self, block) { @@ -61953,7 +62425,7 @@ exports.decrypt = function (self, block) { return xor(out, pad) } -},{"buffer-xor":196}],176:[function(require,module,exports){ +},{"buffer-xor":197}],177:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var xor = require('buffer-xor') @@ -61988,7 +62460,7 @@ exports.encrypt = function (self, data, decrypt) { return out } -},{"buffer-xor":196,"safe-buffer":372}],177:[function(require,module,exports){ +},{"buffer-xor":197,"safe-buffer":373}],178:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer function encryptByte (self, byteParam, decrypt) { @@ -62032,7 +62504,7 @@ exports.encrypt = function (self, chunk, decrypt) { return out } -},{"safe-buffer":372}],178:[function(require,module,exports){ +},{"safe-buffer":373}],179:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer function encryptByte (self, byteParam, decrypt) { @@ -62059,7 +62531,7 @@ exports.encrypt = function (self, chunk, decrypt) { return out } -},{"safe-buffer":372}],179:[function(require,module,exports){ +},{"safe-buffer":373}],180:[function(require,module,exports){ var xor = require('buffer-xor') var Buffer = require('safe-buffer').Buffer var incr32 = require('../incr32') @@ -62091,7 +62563,7 @@ exports.encrypt = function (self, chunk) { return xor(chunk, pad) } -},{"../incr32":174,"buffer-xor":196,"safe-buffer":372}],180:[function(require,module,exports){ +},{"../incr32":175,"buffer-xor":197,"safe-buffer":373}],181:[function(require,module,exports){ exports.encrypt = function (self, block) { return self._cipher.encryptBlock(block) } @@ -62100,7 +62572,7 @@ exports.decrypt = function (self, block) { return self._cipher.decryptBlock(block) } -},{}],181:[function(require,module,exports){ +},{}],182:[function(require,module,exports){ var modeModules = { ECB: require('./ecb'), CBC: require('./cbc'), @@ -62120,7 +62592,7 @@ for (var key in modes) { module.exports = modes -},{"./cbc":175,"./cfb":176,"./cfb1":177,"./cfb8":178,"./ctr":179,"./ecb":180,"./list.json":182,"./ofb":183}],182:[function(require,module,exports){ +},{"./cbc":176,"./cfb":177,"./cfb1":178,"./cfb8":179,"./ctr":180,"./ecb":181,"./list.json":183,"./ofb":184}],183:[function(require,module,exports){ module.exports={ "aes-128-ecb": { "cipher": "AES", @@ -62313,7 +62785,7 @@ module.exports={ } } -},{}],183:[function(require,module,exports){ +},{}],184:[function(require,module,exports){ (function (Buffer){ var xor = require('buffer-xor') @@ -62333,7 +62805,7 @@ exports.encrypt = function (self, chunk) { } }).call(this,require("buffer").Buffer) -},{"buffer":197,"buffer-xor":196}],184:[function(require,module,exports){ +},{"buffer":198,"buffer-xor":197}],185:[function(require,module,exports){ var aes = require('./aes') var Buffer = require('safe-buffer').Buffer var Transform = require('cipher-base') @@ -62362,7 +62834,7 @@ StreamCipher.prototype._final = function () { module.exports = StreamCipher -},{"./aes":168,"cipher-base":198,"inherits":300,"safe-buffer":372}],185:[function(require,module,exports){ +},{"./aes":169,"cipher-base":199,"inherits":301,"safe-buffer":373}],186:[function(require,module,exports){ var ebtk = require('evp_bytestokey') var aes = require('browserify-aes/browser') var DES = require('browserify-des') @@ -62437,7 +62909,7 @@ function getCiphers () { } exports.listCiphers = exports.getCiphers = getCiphers -},{"browserify-aes/browser":170,"browserify-aes/modes":181,"browserify-des":186,"browserify-des/modes":187,"evp_bytestokey":280}],186:[function(require,module,exports){ +},{"browserify-aes/browser":171,"browserify-aes/modes":182,"browserify-des":187,"browserify-des/modes":188,"evp_bytestokey":281}],187:[function(require,module,exports){ (function (Buffer){ var CipherBase = require('cipher-base') var des = require('des.js') @@ -62484,7 +62956,7 @@ DES.prototype._final = function () { } }).call(this,require("buffer").Buffer) -},{"buffer":197,"cipher-base":198,"des.js":242,"inherits":300}],187:[function(require,module,exports){ +},{"buffer":198,"cipher-base":199,"des.js":243,"inherits":301}],188:[function(require,module,exports){ exports['des-ecb'] = { key: 8, iv: 0 @@ -62510,7 +62982,7 @@ exports['des-ede'] = { iv: 0 } -},{}],188:[function(require,module,exports){ +},{}],189:[function(require,module,exports){ (function (Buffer){ var bn = require('bn.js'); var randomBytes = require('randombytes'); @@ -62554,7 +63026,7 @@ function getr(priv) { } }).call(this,require("buffer").Buffer) -},{"bn.js":165,"buffer":197,"randombytes":352}],189:[function(require,module,exports){ +},{"bn.js":166,"buffer":198,"randombytes":353}],190:[function(require,module,exports){ (function (Buffer){ const Sha3 = require('js-sha3') @@ -62592,10 +63064,10 @@ module.exports = { } }).call(this,require("buffer").Buffer) -},{"buffer":197,"js-sha3":306}],190:[function(require,module,exports){ +},{"buffer":198,"js-sha3":307}],191:[function(require,module,exports){ module.exports = require('./browser/algorithms.json') -},{"./browser/algorithms.json":191}],191:[function(require,module,exports){ +},{"./browser/algorithms.json":192}],192:[function(require,module,exports){ module.exports={ "sha224WithRSAEncryption": { "sign": "rsa", @@ -62749,7 +63221,7 @@ module.exports={ } } -},{}],192:[function(require,module,exports){ +},{}],193:[function(require,module,exports){ module.exports={ "1.3.132.0.10": "secp256k1", "1.3.132.0.33": "p224", @@ -62759,7 +63231,7 @@ module.exports={ "1.3.132.0.35": "p521" } -},{}],193:[function(require,module,exports){ +},{}],194:[function(require,module,exports){ (function (Buffer){ var createHash = require('create-hash') var stream = require('stream') @@ -62854,7 +63326,7 @@ module.exports = { } }).call(this,require("buffer").Buffer) -},{"./algorithms.json":191,"./sign":194,"./verify":195,"buffer":197,"create-hash":201,"inherits":300,"stream":389}],194:[function(require,module,exports){ +},{"./algorithms.json":192,"./sign":195,"./verify":196,"buffer":198,"create-hash":202,"inherits":301,"stream":390}],195:[function(require,module,exports){ (function (Buffer){ // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js var createHmac = require('create-hmac') @@ -63003,7 +63475,7 @@ module.exports.getKey = getKey module.exports.makeKey = makeKey }).call(this,require("buffer").Buffer) -},{"./curves.json":192,"bn.js":165,"browserify-rsa":188,"buffer":197,"create-hmac":204,"elliptic":252,"parse-asn1":327}],195:[function(require,module,exports){ +},{"./curves.json":193,"bn.js":166,"browserify-rsa":189,"buffer":198,"create-hmac":205,"elliptic":253,"parse-asn1":328}],196:[function(require,module,exports){ (function (Buffer){ // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js var BN = require('bn.js') @@ -63090,7 +63562,7 @@ function checkValue (b, q) { module.exports = verify }).call(this,require("buffer").Buffer) -},{"./curves.json":192,"bn.js":165,"buffer":197,"elliptic":252,"parse-asn1":327}],196:[function(require,module,exports){ +},{"./curves.json":193,"bn.js":166,"buffer":198,"elliptic":253,"parse-asn1":328}],197:[function(require,module,exports){ (function (Buffer){ module.exports = function xor (a, b) { var length = Math.min(a.length, b.length) @@ -63104,7 +63576,7 @@ module.exports = function xor (a, b) { } }).call(this,require("buffer").Buffer) -},{"buffer":197}],197:[function(require,module,exports){ +},{"buffer":198}],198:[function(require,module,exports){ /*! * The buffer module from node.js, for the browser. * @@ -64820,7 +65292,7 @@ function numberIsNaN (obj) { return obj !== obj // eslint-disable-line no-self-compare } -},{"base64-js":162,"ieee754":298}],198:[function(require,module,exports){ +},{"base64-js":163,"ieee754":299}],199:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var Transform = require('stream').Transform var StringDecoder = require('string_decoder').StringDecoder @@ -64921,7 +65393,7 @@ CipherBase.prototype._toString = function (value, enc, fin) { module.exports = CipherBase -},{"inherits":300,"safe-buffer":372,"stream":389,"string_decoder":391}],199:[function(require,module,exports){ +},{"inherits":301,"safe-buffer":373,"stream":390,"string_decoder":392}],200:[function(require,module,exports){ (function (Buffer){ // Copyright Joyent, Inc. and other Node contributors. // @@ -65032,7 +65504,7 @@ function objectToString(o) { } }).call(this,{"isBuffer":require("../../is-buffer/index.js")}) -},{"../../is-buffer/index.js":301}],200:[function(require,module,exports){ +},{"../../is-buffer/index.js":302}],201:[function(require,module,exports){ (function (Buffer){ var elliptic = require('elliptic'); var BN = require('bn.js'); @@ -65158,7 +65630,7 @@ function formatReturnValue(bn, enc, len) { } }).call(this,require("buffer").Buffer) -},{"bn.js":165,"buffer":197,"elliptic":252}],201:[function(require,module,exports){ +},{"bn.js":166,"buffer":198,"elliptic":253}],202:[function(require,module,exports){ (function (Buffer){ 'use strict' var inherits = require('inherits') @@ -65214,7 +65686,7 @@ module.exports = function createHash (alg) { } }).call(this,require("buffer").Buffer) -},{"./md5":203,"buffer":197,"cipher-base":198,"inherits":300,"ripemd160":370,"sha.js":382}],202:[function(require,module,exports){ +},{"./md5":204,"buffer":198,"cipher-base":199,"inherits":301,"ripemd160":371,"sha.js":383}],203:[function(require,module,exports){ (function (Buffer){ 'use strict' var intSize = 4 @@ -65248,7 +65720,7 @@ module.exports = function hash (buf, fn) { } }).call(this,require("buffer").Buffer) -},{"buffer":197}],203:[function(require,module,exports){ +},{"buffer":198}],204:[function(require,module,exports){ 'use strict' /* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message @@ -65401,7 +65873,7 @@ module.exports = function md5 (buf) { return makeHash(buf, core_md5) } -},{"./make-hash":202}],204:[function(require,module,exports){ +},{"./make-hash":203}],205:[function(require,module,exports){ 'use strict' var inherits = require('inherits') var Legacy = require('./legacy') @@ -65465,7 +65937,7 @@ module.exports = function createHmac (alg, key) { return new Hmac(alg, key) } -},{"./legacy":205,"cipher-base":198,"create-hash/md5":203,"inherits":300,"ripemd160":370,"safe-buffer":372,"sha.js":382}],205:[function(require,module,exports){ +},{"./legacy":206,"cipher-base":199,"create-hash/md5":204,"inherits":301,"ripemd160":371,"safe-buffer":373,"sha.js":383}],206:[function(require,module,exports){ 'use strict' var inherits = require('inherits') var Buffer = require('safe-buffer').Buffer @@ -65513,7 +65985,7 @@ Hmac.prototype._final = function () { } module.exports = Hmac -},{"cipher-base":198,"inherits":300,"safe-buffer":372}],206:[function(require,module,exports){ +},{"cipher-base":199,"inherits":301,"safe-buffer":373}],207:[function(require,module,exports){ 'use strict' exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes') @@ -65607,7 +66079,7 @@ exports.constants = { 'POINT_CONVERSION_HYBRID': 6 } -},{"browserify-cipher":185,"browserify-sign":193,"browserify-sign/algos":190,"create-ecdh":200,"create-hash":201,"create-hmac":204,"diffie-hellman":248,"pbkdf2":329,"public-encrypt":336,"randombytes":352}],207:[function(require,module,exports){ +},{"browserify-cipher":186,"browserify-sign":194,"browserify-sign/algos":191,"create-ecdh":201,"create-hash":202,"create-hmac":205,"diffie-hellman":249,"pbkdf2":330,"public-encrypt":337,"randombytes":353}],208:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -65840,7 +66312,7 @@ exports.constants = { return CryptoJS.AES; })); -},{"./cipher-core":208,"./core":209,"./enc-base64":210,"./evpkdf":212,"./md5":217}],208:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210,"./enc-base64":211,"./evpkdf":213,"./md5":218}],209:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -66721,7 +67193,7 @@ exports.constants = { })); -},{"./core":209,"./evpkdf":212}],209:[function(require,module,exports){ +},{"./core":210,"./evpkdf":213}],210:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -67482,7 +67954,7 @@ exports.constants = { return CryptoJS; })); -},{}],210:[function(require,module,exports){ +},{}],211:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -67618,7 +68090,7 @@ exports.constants = { return CryptoJS.enc.Base64; })); -},{"./core":209}],211:[function(require,module,exports){ +},{"./core":210}],212:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -67768,7 +68240,7 @@ exports.constants = { return CryptoJS.enc.Utf16; })); -},{"./core":209}],212:[function(require,module,exports){ +},{"./core":210}],213:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -67901,7 +68373,7 @@ exports.constants = { return CryptoJS.EvpKDF; })); -},{"./core":209,"./hmac":214,"./sha1":233}],213:[function(require,module,exports){ +},{"./core":210,"./hmac":215,"./sha1":234}],214:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -67968,7 +68440,7 @@ exports.constants = { return CryptoJS.format.Hex; })); -},{"./cipher-core":208,"./core":209}],214:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],215:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -68112,7 +68584,7 @@ exports.constants = { })); -},{"./core":209}],215:[function(require,module,exports){ +},{"./core":210}],216:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68131,7 +68603,7 @@ exports.constants = { return CryptoJS; })); -},{"./aes":207,"./cipher-core":208,"./core":209,"./enc-base64":210,"./enc-utf16":211,"./evpkdf":212,"./format-hex":213,"./hmac":214,"./lib-typedarrays":216,"./md5":217,"./mode-cfb":218,"./mode-ctr":220,"./mode-ctr-gladman":219,"./mode-ecb":221,"./mode-ofb":222,"./pad-ansix923":223,"./pad-iso10126":224,"./pad-iso97971":225,"./pad-nopadding":226,"./pad-zeropadding":227,"./pbkdf2":228,"./rabbit":230,"./rabbit-legacy":229,"./rc4":231,"./ripemd160":232,"./sha1":233,"./sha224":234,"./sha256":235,"./sha3":236,"./sha384":237,"./sha512":238,"./tripledes":239,"./x64-core":240}],216:[function(require,module,exports){ +},{"./aes":208,"./cipher-core":209,"./core":210,"./enc-base64":211,"./enc-utf16":212,"./evpkdf":213,"./format-hex":214,"./hmac":215,"./lib-typedarrays":217,"./md5":218,"./mode-cfb":219,"./mode-ctr":221,"./mode-ctr-gladman":220,"./mode-ecb":222,"./mode-ofb":223,"./pad-ansix923":224,"./pad-iso10126":225,"./pad-iso97971":226,"./pad-nopadding":227,"./pad-zeropadding":228,"./pbkdf2":229,"./rabbit":231,"./rabbit-legacy":230,"./rc4":232,"./ripemd160":233,"./sha1":234,"./sha224":235,"./sha256":236,"./sha3":237,"./sha384":238,"./sha512":239,"./tripledes":240,"./x64-core":241}],217:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -68208,7 +68680,7 @@ exports.constants = { return CryptoJS.lib.WordArray; })); -},{"./core":209}],217:[function(require,module,exports){ +},{"./core":210}],218:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -68477,7 +68949,7 @@ exports.constants = { return CryptoJS.MD5; })); -},{"./core":209}],218:[function(require,module,exports){ +},{"./core":210}],219:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68556,7 +69028,7 @@ exports.constants = { return CryptoJS.mode.CFB; })); -},{"./cipher-core":208,"./core":209}],219:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],220:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68673,7 +69145,7 @@ exports.constants = { return CryptoJS.mode.CTRGladman; })); -},{"./cipher-core":208,"./core":209}],220:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],221:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68732,7 +69204,7 @@ exports.constants = { return CryptoJS.mode.CTR; })); -},{"./cipher-core":208,"./core":209}],221:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],222:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68773,7 +69245,7 @@ exports.constants = { return CryptoJS.mode.ECB; })); -},{"./cipher-core":208,"./core":209}],222:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],223:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68828,7 +69300,7 @@ exports.constants = { return CryptoJS.mode.OFB; })); -},{"./cipher-core":208,"./core":209}],223:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],224:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68878,7 +69350,7 @@ exports.constants = { return CryptoJS.pad.Ansix923; })); -},{"./cipher-core":208,"./core":209}],224:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],225:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68923,7 +69395,7 @@ exports.constants = { return CryptoJS.pad.Iso10126; })); -},{"./cipher-core":208,"./core":209}],225:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],226:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68964,7 +69436,7 @@ exports.constants = { return CryptoJS.pad.Iso97971; })); -},{"./cipher-core":208,"./core":209}],226:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],227:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -68995,7 +69467,7 @@ exports.constants = { return CryptoJS.pad.NoPadding; })); -},{"./cipher-core":208,"./core":209}],227:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],228:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -69041,7 +69513,7 @@ exports.constants = { return CryptoJS.pad.ZeroPadding; })); -},{"./cipher-core":208,"./core":209}],228:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210}],229:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -69187,7 +69659,7 @@ exports.constants = { return CryptoJS.PBKDF2; })); -},{"./core":209,"./hmac":214,"./sha1":233}],229:[function(require,module,exports){ +},{"./core":210,"./hmac":215,"./sha1":234}],230:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -69378,7 +69850,7 @@ exports.constants = { return CryptoJS.RabbitLegacy; })); -},{"./cipher-core":208,"./core":209,"./enc-base64":210,"./evpkdf":212,"./md5":217}],230:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210,"./enc-base64":211,"./evpkdf":213,"./md5":218}],231:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -69571,7 +70043,7 @@ exports.constants = { return CryptoJS.Rabbit; })); -},{"./cipher-core":208,"./core":209,"./enc-base64":210,"./evpkdf":212,"./md5":217}],231:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210,"./enc-base64":211,"./evpkdf":213,"./md5":218}],232:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -69711,7 +70183,7 @@ exports.constants = { return CryptoJS.RC4; })); -},{"./cipher-core":208,"./core":209,"./enc-base64":210,"./evpkdf":212,"./md5":217}],232:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210,"./enc-base64":211,"./evpkdf":213,"./md5":218}],233:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -69979,7 +70451,7 @@ exports.constants = { return CryptoJS.RIPEMD160; })); -},{"./core":209}],233:[function(require,module,exports){ +},{"./core":210}],234:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -70130,7 +70602,7 @@ exports.constants = { return CryptoJS.SHA1; })); -},{"./core":209}],234:[function(require,module,exports){ +},{"./core":210}],235:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -70211,7 +70683,7 @@ exports.constants = { return CryptoJS.SHA224; })); -},{"./core":209,"./sha256":235}],235:[function(require,module,exports){ +},{"./core":210,"./sha256":236}],236:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -70411,7 +70883,7 @@ exports.constants = { return CryptoJS.SHA256; })); -},{"./core":209}],236:[function(require,module,exports){ +},{"./core":210}],237:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -70735,7 +71207,7 @@ exports.constants = { return CryptoJS.SHA3; })); -},{"./core":209,"./x64-core":240}],237:[function(require,module,exports){ +},{"./core":210,"./x64-core":241}],238:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -70819,7 +71291,7 @@ exports.constants = { return CryptoJS.SHA384; })); -},{"./core":209,"./sha512":238,"./x64-core":240}],238:[function(require,module,exports){ +},{"./core":210,"./sha512":239,"./x64-core":241}],239:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -71143,7 +71615,7 @@ exports.constants = { return CryptoJS.SHA512; })); -},{"./core":209,"./x64-core":240}],239:[function(require,module,exports){ +},{"./core":210,"./x64-core":241}],240:[function(require,module,exports){ ;(function (root, factory, undef) { if (typeof exports === "object") { // CommonJS @@ -71914,7 +72386,7 @@ exports.constants = { return CryptoJS.TripleDES; })); -},{"./cipher-core":208,"./core":209,"./enc-base64":210,"./evpkdf":212,"./md5":217}],240:[function(require,module,exports){ +},{"./cipher-core":209,"./core":210,"./enc-base64":211,"./evpkdf":213,"./md5":218}],241:[function(require,module,exports){ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS @@ -72219,7 +72691,7 @@ exports.constants = { return CryptoJS; })); -},{"./core":209}],241:[function(require,module,exports){ +},{"./core":210}],242:[function(require,module,exports){ 'use strict'; var token = '%[a-f0-9]{2}'; var singleMatcher = new RegExp(token, 'gi'); @@ -72315,7 +72787,7 @@ module.exports = function (encodedURI) { } }; -},{}],242:[function(require,module,exports){ +},{}],243:[function(require,module,exports){ 'use strict'; exports.utils = require('./des/utils'); @@ -72324,7 +72796,7 @@ exports.DES = require('./des/des'); exports.CBC = require('./des/cbc'); exports.EDE = require('./des/ede'); -},{"./des/cbc":243,"./des/cipher":244,"./des/des":245,"./des/ede":246,"./des/utils":247}],243:[function(require,module,exports){ +},{"./des/cbc":244,"./des/cipher":245,"./des/des":246,"./des/ede":247,"./des/utils":248}],244:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -72391,7 +72863,7 @@ proto._update = function _update(inp, inOff, out, outOff) { } }; -},{"inherits":300,"minimalistic-assert":317}],244:[function(require,module,exports){ +},{"inherits":301,"minimalistic-assert":318}],245:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -72534,7 +73006,7 @@ Cipher.prototype._finalDecrypt = function _finalDecrypt() { return this._unpad(out); }; -},{"minimalistic-assert":317}],245:[function(require,module,exports){ +},{"minimalistic-assert":318}],246:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -72679,7 +73151,7 @@ DES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) { utils.rip(l, r, out, off); }; -},{"../des":242,"inherits":300,"minimalistic-assert":317}],246:[function(require,module,exports){ +},{"../des":243,"inherits":301,"minimalistic-assert":318}],247:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -72736,7 +73208,7 @@ EDE.prototype._update = function _update(inp, inOff, out, outOff) { EDE.prototype._pad = DES.prototype._pad; EDE.prototype._unpad = DES.prototype._unpad; -},{"../des":242,"inherits":300,"minimalistic-assert":317}],247:[function(require,module,exports){ +},{"../des":243,"inherits":301,"minimalistic-assert":318}],248:[function(require,module,exports){ 'use strict'; exports.readUInt32BE = function readUInt32BE(bytes, off) { @@ -72994,7 +73466,7 @@ exports.padSplit = function padSplit(num, size, group) { return out.join(' '); }; -},{}],248:[function(require,module,exports){ +},{}],249:[function(require,module,exports){ (function (Buffer){ var generatePrime = require('./lib/generatePrime') var primes = require('./lib/primes.json') @@ -73040,7 +73512,7 @@ exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffi exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman }).call(this,require("buffer").Buffer) -},{"./lib/dh":249,"./lib/generatePrime":250,"./lib/primes.json":251,"buffer":197}],249:[function(require,module,exports){ +},{"./lib/dh":250,"./lib/generatePrime":251,"./lib/primes.json":252,"buffer":198}],250:[function(require,module,exports){ (function (Buffer){ var BN = require('bn.js'); var MillerRabin = require('miller-rabin'); @@ -73208,7 +73680,7 @@ function formatReturnValue(bn, enc) { } }).call(this,require("buffer").Buffer) -},{"./generatePrime":250,"bn.js":165,"buffer":197,"miller-rabin":316,"randombytes":352}],250:[function(require,module,exports){ +},{"./generatePrime":251,"bn.js":166,"buffer":198,"miller-rabin":317,"randombytes":353}],251:[function(require,module,exports){ var randomBytes = require('randombytes'); module.exports = findPrime; findPrime.simpleSieve = simpleSieve; @@ -73315,7 +73787,7 @@ function findPrime(bits, gen) { } -},{"bn.js":165,"miller-rabin":316,"randombytes":352}],251:[function(require,module,exports){ +},{"bn.js":166,"miller-rabin":317,"randombytes":353}],252:[function(require,module,exports){ module.exports={ "modp1": { "gen": "02", @@ -73350,7 +73822,7 @@ module.exports={ "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff" } } -},{}],252:[function(require,module,exports){ +},{}],253:[function(require,module,exports){ 'use strict'; var elliptic = exports; @@ -73365,7 +73837,7 @@ elliptic.curves = require('./elliptic/curves'); elliptic.ec = require('./elliptic/ec'); elliptic.eddsa = require('./elliptic/eddsa'); -},{"../package.json":267,"./elliptic/curve":255,"./elliptic/curves":258,"./elliptic/ec":259,"./elliptic/eddsa":262,"./elliptic/utils":266,"brorand":166}],253:[function(require,module,exports){ +},{"../package.json":268,"./elliptic/curve":256,"./elliptic/curves":259,"./elliptic/ec":260,"./elliptic/eddsa":263,"./elliptic/utils":267,"brorand":167}],254:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -73742,7 +74214,7 @@ BasePoint.prototype.dblp = function dblp(k) { return r; }; -},{"../../elliptic":252,"bn.js":165}],254:[function(require,module,exports){ +},{"../../elliptic":253,"bn.js":166}],255:[function(require,module,exports){ 'use strict'; var curve = require('../curve'); @@ -74177,7 +74649,7 @@ Point.prototype.eqXToP = function eqXToP(x) { Point.prototype.toP = Point.prototype.normalize; Point.prototype.mixedAdd = Point.prototype.add; -},{"../../elliptic":252,"../curve":255,"bn.js":165,"inherits":300}],255:[function(require,module,exports){ +},{"../../elliptic":253,"../curve":256,"bn.js":166,"inherits":301}],256:[function(require,module,exports){ 'use strict'; var curve = exports; @@ -74187,7 +74659,7 @@ curve.short = require('./short'); curve.mont = require('./mont'); curve.edwards = require('./edwards'); -},{"./base":253,"./edwards":254,"./mont":256,"./short":257}],256:[function(require,module,exports){ +},{"./base":254,"./edwards":255,"./mont":257,"./short":258}],257:[function(require,module,exports){ 'use strict'; var curve = require('../curve'); @@ -74369,7 +74841,7 @@ Point.prototype.getX = function getX() { return this.x.fromRed(); }; -},{"../../elliptic":252,"../curve":255,"bn.js":165,"inherits":300}],257:[function(require,module,exports){ +},{"../../elliptic":253,"../curve":256,"bn.js":166,"inherits":301}],258:[function(require,module,exports){ 'use strict'; var curve = require('../curve'); @@ -75309,7 +75781,7 @@ JPoint.prototype.isInfinity = function isInfinity() { return this.z.cmpn(0) === 0; }; -},{"../../elliptic":252,"../curve":255,"bn.js":165,"inherits":300}],258:[function(require,module,exports){ +},{"../../elliptic":253,"../curve":256,"bn.js":166,"inherits":301}],259:[function(require,module,exports){ 'use strict'; var curves = exports; @@ -75516,7 +75988,7 @@ defineCurve('secp256k1', { ] }); -},{"../elliptic":252,"./precomputed/secp256k1":265,"hash.js":285}],259:[function(require,module,exports){ +},{"../elliptic":253,"./precomputed/secp256k1":266,"hash.js":286}],260:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -75758,7 +76230,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { throw new Error('Unable to find valid recovery factor'); }; -},{"../../elliptic":252,"./key":260,"./signature":261,"bn.js":165,"hmac-drbg":297}],260:[function(require,module,exports){ +},{"../../elliptic":253,"./key":261,"./signature":262,"bn.js":166,"hmac-drbg":298}],261:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -75879,7 +76351,7 @@ KeyPair.prototype.inspect = function inspect() { ' pub: ' + (this.pub && this.pub.inspect()) + ' >'; }; -},{"../../elliptic":252,"bn.js":165}],261:[function(require,module,exports){ +},{"../../elliptic":253,"bn.js":166}],262:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -76016,7 +76488,7 @@ Signature.prototype.toDER = function toDER(enc) { return utils.encode(res, enc); }; -},{"../../elliptic":252,"bn.js":165}],262:[function(require,module,exports){ +},{"../../elliptic":253,"bn.js":166}],263:[function(require,module,exports){ 'use strict'; var hash = require('hash.js'); @@ -76136,7 +76608,7 @@ EDDSA.prototype.isPoint = function isPoint(val) { return val instanceof this.pointClass; }; -},{"../../elliptic":252,"./key":263,"./signature":264,"hash.js":285}],263:[function(require,module,exports){ +},{"../../elliptic":253,"./key":264,"./signature":265,"hash.js":286}],264:[function(require,module,exports){ 'use strict'; var elliptic = require('../../elliptic'); @@ -76234,7 +76706,7 @@ KeyPair.prototype.getPublic = function getPublic(enc) { module.exports = KeyPair; -},{"../../elliptic":252}],264:[function(require,module,exports){ +},{"../../elliptic":253}],265:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -76302,7 +76774,7 @@ Signature.prototype.toHex = function toHex() { module.exports = Signature; -},{"../../elliptic":252,"bn.js":165}],265:[function(require,module,exports){ +},{"../../elliptic":253,"bn.js":166}],266:[function(require,module,exports){ module.exports = { doubles: { step: 4, @@ -77084,7 +77556,7 @@ module.exports = { } }; -},{}],266:[function(require,module,exports){ +},{}],267:[function(require,module,exports){ 'use strict'; var utils = exports; @@ -77206,7 +77678,7 @@ function intFromLE(bytes) { utils.intFromLE = intFromLE; -},{"bn.js":165,"minimalistic-assert":317,"minimalistic-crypto-utils":318}],267:[function(require,module,exports){ +},{"bn.js":166,"minimalistic-assert":318,"minimalistic-crypto-utils":319}],268:[function(require,module,exports){ module.exports={ "_from": "elliptic@^6.0.0", "_id": "elliptic@6.4.0", @@ -77295,7 +77767,7 @@ module.exports={ "version": "6.4.0" } -},{}],268:[function(require,module,exports){ +},{}],269:[function(require,module,exports){ var generate = function generate(num, fn) { var a = []; for (var i = 0; i < num; ++i) { @@ -77336,7 +77808,7 @@ module.exports = { flatten: flatten, chunksOf: chunksOf }; -},{}],269:[function(require,module,exports){ +},{}],270:[function(require,module,exports){ var A = require("./array.js"); var at = function at(bytes, index) { @@ -77525,7 +77997,7 @@ module.exports = { fromUint8Array: fromUint8Array, toUint8Array: toUint8Array }; -},{"./array.js":268}],270:[function(require,module,exports){ +},{"./array.js":269}],271:[function(require,module,exports){ // This was ported from https://github.com/emn178/js-sha3, with some minor // modifications and pruning. It is licensed under MIT: // @@ -77865,10 +78337,10 @@ module.exports = { keccak256s: keccak(256), keccak512s: keccak(512) }; -},{}],271:[function(require,module,exports){ +},{}],272:[function(require,module,exports){ module.exports = require('./lib/index.js') -},{"./lib/index.js":272}],272:[function(require,module,exports){ +},{"./lib/index.js":273}],273:[function(require,module,exports){ (function (Buffer){ const utils = require('ethereumjs-util') const BN = require('bn.js') @@ -78429,7 +78901,7 @@ ABI.toSerpent = function (types) { module.exports = ABI }).call(this,require("buffer").Buffer) -},{"bn.js":165,"buffer":197,"ethereumjs-util":273}],273:[function(require,module,exports){ +},{"bn.js":166,"buffer":198,"ethereumjs-util":274}],274:[function(require,module,exports){ (function (Buffer){ const SHA3 = require('keccakjs') const secp256k1 = require('secp256k1') @@ -79134,7 +79606,7 @@ exports.defineProperties = function (self, fields, data) { } }).call(this,require("buffer").Buffer) -},{"assert":161,"bn.js":165,"buffer":197,"create-hash":201,"keccakjs":313,"rlp":371,"secp256k1":375}],274:[function(require,module,exports){ +},{"assert":162,"bn.js":166,"buffer":198,"create-hash":202,"keccakjs":314,"rlp":372,"secp256k1":376}],275:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -79850,7 +80322,7 @@ exports.defineProperties = function (self, fields, data) { } } }; -},{"assert":161,"bn.js":165,"create-hash":201,"ethjs-util":277,"keccak":307,"rlp":371,"safe-buffer":372,"secp256k1":375}],275:[function(require,module,exports){ +},{"assert":162,"bn.js":166,"create-hash":202,"ethjs-util":278,"keccak":308,"rlp":372,"safe-buffer":373,"secp256k1":376}],276:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -80019,7 +80491,7 @@ module.exports = { fromWei: fromWei, toWei: toWei }; -},{"bn.js":276,"number-to-bn":320}],276:[function(require,module,exports){ +},{"bn.js":277,"number-to-bn":321}],277:[function(require,module,exports){ (function (module, exports) { 'use strict'; @@ -83448,7 +83920,7 @@ module.exports = { }; })(typeof module === 'undefined' || module, this); -},{}],277:[function(require,module,exports){ +},{}],278:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -83671,7 +84143,7 @@ module.exports = { isHexString: isHexString }; }).call(this,require("buffer").Buffer) -},{"buffer":197,"is-hex-prefixed":304,"strip-hex-prefix":392}],278:[function(require,module,exports){ +},{"buffer":198,"is-hex-prefixed":305,"strip-hex-prefix":393}],279:[function(require,module,exports){ 'use strict'; // @@ -83935,7 +84407,7 @@ if ('undefined' !== typeof module) { module.exports = EventEmitter; } -},{}],279:[function(require,module,exports){ +},{}],280:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -84239,7 +84711,7 @@ function isUndefined(arg) { return arg === void 0; } -},{}],280:[function(require,module,exports){ +},{}],281:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var MD5 = require('md5.js') @@ -84286,7 +84758,7 @@ function EVP_BytesToKey (password, salt, keyBits, ivLen) { module.exports = EVP_BytesToKey -},{"md5.js":314,"safe-buffer":372}],281:[function(require,module,exports){ +},{"md5.js":315,"safe-buffer":373}],282:[function(require,module,exports){ (function (self) { 'use strict'; @@ -84787,7 +85259,7 @@ module.exports = EVP_BytesToKey }(typeof self === 'undefined' ? this : self)); -},{}],282:[function(require,module,exports){ +},{}],283:[function(require,module,exports){ 'use strict'; var isCallable = require('is-callable'); @@ -84851,7 +85323,7 @@ var forEach = function forEach(list, iterator, thisArg) { module.exports = forEach; -},{"is-callable":302}],283:[function(require,module,exports){ +},{"is-callable":303}],284:[function(require,module,exports){ (function (global){ var win; @@ -84868,7 +85340,7 @@ if (typeof window !== "undefined") { module.exports = win; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],284:[function(require,module,exports){ +},{}],285:[function(require,module,exports){ (function (Buffer){ 'use strict' var Transform = require('stream').Transform @@ -84955,7 +85427,7 @@ HashBase.prototype._digest = function () { module.exports = HashBase }).call(this,require("buffer").Buffer) -},{"buffer":197,"inherits":300,"stream":389}],285:[function(require,module,exports){ +},{"buffer":198,"inherits":301,"stream":390}],286:[function(require,module,exports){ var hash = exports; hash.utils = require('./hash/utils'); @@ -84972,7 +85444,7 @@ hash.sha384 = hash.sha.sha384; hash.sha512 = hash.sha.sha512; hash.ripemd160 = hash.ripemd.ripemd160; -},{"./hash/common":286,"./hash/hmac":287,"./hash/ripemd":288,"./hash/sha":289,"./hash/utils":296}],286:[function(require,module,exports){ +},{"./hash/common":287,"./hash/hmac":288,"./hash/ripemd":289,"./hash/sha":290,"./hash/utils":297}],287:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -85066,7 +85538,7 @@ BlockHash.prototype._pad = function pad() { return res; }; -},{"./utils":296,"minimalistic-assert":317}],287:[function(require,module,exports){ +},{"./utils":297,"minimalistic-assert":318}],288:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -85115,7 +85587,7 @@ Hmac.prototype.digest = function digest(enc) { return this.outer.digest(enc); }; -},{"./utils":296,"minimalistic-assert":317}],288:[function(require,module,exports){ +},{"./utils":297,"minimalistic-assert":318}],289:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -85263,7 +85735,7 @@ var sh = [ 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]; -},{"./common":286,"./utils":296}],289:[function(require,module,exports){ +},{"./common":287,"./utils":297}],290:[function(require,module,exports){ 'use strict'; exports.sha1 = require('./sha/1'); @@ -85272,7 +85744,7 @@ exports.sha256 = require('./sha/256'); exports.sha384 = require('./sha/384'); exports.sha512 = require('./sha/512'); -},{"./sha/1":290,"./sha/224":291,"./sha/256":292,"./sha/384":293,"./sha/512":294}],290:[function(require,module,exports){ +},{"./sha/1":291,"./sha/224":292,"./sha/256":293,"./sha/384":294,"./sha/512":295}],291:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -85348,7 +85820,7 @@ SHA1.prototype._digest = function digest(enc) { return utils.split32(this.h, 'big'); }; -},{"../common":286,"../utils":296,"./common":295}],291:[function(require,module,exports){ +},{"../common":287,"../utils":297,"./common":296}],292:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -85380,7 +85852,7 @@ SHA224.prototype._digest = function digest(enc) { }; -},{"../utils":296,"./256":292}],292:[function(require,module,exports){ +},{"../utils":297,"./256":293}],293:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -85487,7 +85959,7 @@ SHA256.prototype._digest = function digest(enc) { return utils.split32(this.h, 'big'); }; -},{"../common":286,"../utils":296,"./common":295,"minimalistic-assert":317}],293:[function(require,module,exports){ +},{"../common":287,"../utils":297,"./common":296,"minimalistic-assert":318}],294:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -85524,7 +85996,7 @@ SHA384.prototype._digest = function digest(enc) { return utils.split32(this.h.slice(0, 12), 'big'); }; -},{"../utils":296,"./512":294}],294:[function(require,module,exports){ +},{"../utils":297,"./512":295}],295:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -85856,7 +86328,7 @@ function g1_512_lo(xh, xl) { return r; } -},{"../common":286,"../utils":296,"minimalistic-assert":317}],295:[function(require,module,exports){ +},{"../common":287,"../utils":297,"minimalistic-assert":318}],296:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -85907,7 +86379,7 @@ function g1_256(x) { } exports.g1_256 = g1_256; -},{"../utils":296}],296:[function(require,module,exports){ +},{"../utils":297}],297:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -86162,7 +86634,7 @@ function shr64_lo(ah, al, num) { } exports.shr64_lo = shr64_lo; -},{"inherits":300,"minimalistic-assert":317}],297:[function(require,module,exports){ +},{"inherits":301,"minimalistic-assert":318}],298:[function(require,module,exports){ 'use strict'; var hash = require('hash.js'); @@ -86277,7 +86749,7 @@ HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { return utils.encode(res, enc); }; -},{"hash.js":285,"minimalistic-assert":317,"minimalistic-crypto-utils":318}],298:[function(require,module,exports){ +},{"hash.js":286,"minimalistic-assert":318,"minimalistic-crypto-utils":319}],299:[function(require,module,exports){ exports.read = function (buffer, offset, isLE, mLen, nBytes) { var e, m var eLen = nBytes * 8 - mLen - 1 @@ -86363,7 +86835,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { buffer[offset + i - d] |= s * 128 } -},{}],299:[function(require,module,exports){ +},{}],300:[function(require,module,exports){ var indexOf = [].indexOf; @@ -86374,7 +86846,7 @@ module.exports = function(arr, obj){ } return -1; }; -},{}],300:[function(require,module,exports){ +},{}],301:[function(require,module,exports){ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { @@ -86399,7 +86871,7 @@ if (typeof Object.create === 'function') { } } -},{}],301:[function(require,module,exports){ +},{}],302:[function(require,module,exports){ /*! * Determine if an object is a Buffer * @@ -86422,7 +86894,7 @@ function isSlowBuffer (obj) { return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) } -},{}],302:[function(require,module,exports){ +},{}],303:[function(require,module,exports){ 'use strict'; var fnToStr = Function.prototype.toString; @@ -86461,7 +86933,7 @@ module.exports = function isCallable(value) { return strClass === fnClass || strClass === genClass; }; -},{}],303:[function(require,module,exports){ +},{}],304:[function(require,module,exports){ module.exports = isFunction var toString = Object.prototype.toString @@ -86478,7 +86950,7 @@ function isFunction (fn) { fn === window.prompt)) }; -},{}],304:[function(require,module,exports){ +},{}],305:[function(require,module,exports){ /** * Returns a `Boolean` on whether or not the a `String` starts with '0x' * @param {String} str the string input value @@ -86493,14 +86965,14 @@ module.exports = function isHexPrefixed(str) { return str.slice(0, 2) === '0x'; } -},{}],305:[function(require,module,exports){ +},{}],306:[function(require,module,exports){ var toString = {}.toString; module.exports = Array.isArray || function (arr) { return toString.call(arr) == '[object Array]'; }; -},{}],306:[function(require,module,exports){ +},{}],307:[function(require,module,exports){ (function (global){ /* * js-sha3 v0.3.1 @@ -86936,11 +87408,11 @@ module.exports = Array.isArray || function (arr) { }(this)); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],307:[function(require,module,exports){ +},{}],308:[function(require,module,exports){ 'use strict' module.exports = require('./lib/api')(require('./lib/keccak')) -},{"./lib/api":308,"./lib/keccak":312}],308:[function(require,module,exports){ +},{"./lib/api":309,"./lib/keccak":313}],309:[function(require,module,exports){ 'use strict' var createKeccak = require('./keccak') var createShake = require('./shake') @@ -86970,7 +87442,7 @@ module.exports = function (KeccakState) { } } -},{"./keccak":309,"./shake":310}],309:[function(require,module,exports){ +},{"./keccak":310,"./shake":311}],310:[function(require,module,exports){ 'use strict' var Buffer = require('safe-buffer').Buffer var Transform = require('stream').Transform @@ -87056,7 +87528,7 @@ module.exports = function (KeccakState) { return Keccak } -},{"inherits":300,"safe-buffer":372,"stream":389}],310:[function(require,module,exports){ +},{"inherits":301,"safe-buffer":373,"stream":390}],311:[function(require,module,exports){ 'use strict' var Buffer = require('safe-buffer').Buffer var Transform = require('stream').Transform @@ -87133,7 +87605,7 @@ module.exports = function (KeccakState) { return Shake } -},{"inherits":300,"safe-buffer":372,"stream":389}],311:[function(require,module,exports){ +},{"inherits":301,"safe-buffer":373,"stream":390}],312:[function(require,module,exports){ 'use strict' var P1600_ROUND_CONSTANTS = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648] @@ -87322,7 +87794,7 @@ exports.p1600 = function (s) { } } -},{}],312:[function(require,module,exports){ +},{}],313:[function(require,module,exports){ 'use strict' var Buffer = require('safe-buffer').Buffer var keccakState = require('./keccak-state-unroll') @@ -87394,10 +87866,10 @@ Keccak.prototype.copy = function (dest) { module.exports = Keccak -},{"./keccak-state-unroll":311,"safe-buffer":372}],313:[function(require,module,exports){ +},{"./keccak-state-unroll":312,"safe-buffer":373}],314:[function(require,module,exports){ module.exports = require('browserify-sha3').SHA3Hash -},{"browserify-sha3":189}],314:[function(require,module,exports){ +},{"browserify-sha3":190}],315:[function(require,module,exports){ (function (Buffer){ 'use strict' var inherits = require('inherits') @@ -87546,7 +88018,7 @@ function fnI (a, b, c, d, m, k, s) { module.exports = MD5 }).call(this,require("buffer").Buffer) -},{"buffer":197,"hash-base":315,"inherits":300}],315:[function(require,module,exports){ +},{"buffer":198,"hash-base":316,"inherits":301}],316:[function(require,module,exports){ 'use strict' var Buffer = require('safe-buffer').Buffer var Transform = require('stream').Transform @@ -87643,7 +88115,7 @@ HashBase.prototype._digest = function () { module.exports = HashBase -},{"inherits":300,"safe-buffer":372,"stream":389}],316:[function(require,module,exports){ +},{"inherits":301,"safe-buffer":373,"stream":390}],317:[function(require,module,exports){ var bn = require('bn.js'); var brorand = require('brorand'); @@ -87760,7 +88232,7 @@ MillerRabin.prototype.getDivisor = function getDivisor(n, k) { return false; }; -},{"bn.js":165,"brorand":166}],317:[function(require,module,exports){ +},{"bn.js":166,"brorand":167}],318:[function(require,module,exports){ module.exports = assert; function assert(val, msg) { @@ -87773,7 +88245,7 @@ assert.equal = function assertEqual(l, r, msg) { throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r)); }; -},{}],318:[function(require,module,exports){ +},{}],319:[function(require,module,exports){ 'use strict'; var utils = exports; @@ -87833,9 +88305,9 @@ utils.encode = function encode(arr, enc) { return arr; }; -},{}],319:[function(require,module,exports){ -arguments[4][276][0].apply(exports,arguments) -},{"dup":276}],320:[function(require,module,exports){ +},{}],320:[function(require,module,exports){ +arguments[4][277][0].apply(exports,arguments) +},{"dup":277}],321:[function(require,module,exports){ var BN = require('bn.js'); var stripHexPrefix = require('strip-hex-prefix'); @@ -87875,7 +88347,7 @@ module.exports = function numberToBN(arg) { throw new Error('[number-to-bn] while converting number ' + JSON.stringify(arg) + ' to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.'); } -},{"bn.js":319,"strip-hex-prefix":392}],321:[function(require,module,exports){ +},{"bn.js":320,"strip-hex-prefix":393}],322:[function(require,module,exports){ /* object-assign (c) Sindre Sorhus @@ -87967,7 +88439,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { return to; }; -},{}],322:[function(require,module,exports){ +},{}],323:[function(require,module,exports){ // This file is the concatenation of many js files. // See http://github.com/jimhigson/oboe.js for the raw source @@ -90671,7 +91143,7 @@ oboe.drop = function() { } }()), Object, Array, Error, JSON); -},{}],323:[function(require,module,exports){ +},{}],324:[function(require,module,exports){ module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb", "2.16.840.1.101.3.4.1.2": "aes-128-cbc", "2.16.840.1.101.3.4.1.3": "aes-128-ofb", @@ -90685,7 +91157,7 @@ module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb", "2.16.840.1.101.3.4.1.43": "aes-256-ofb", "2.16.840.1.101.3.4.1.44": "aes-256-cfb" } -},{}],324:[function(require,module,exports){ +},{}],325:[function(require,module,exports){ // from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js // Fedor, you are amazing. 'use strict' @@ -90809,7 +91281,7 @@ exports.signature = asn1.define('signature', function () { ) }) -},{"./certificate":325,"asn1.js":147}],325:[function(require,module,exports){ +},{"./certificate":326,"asn1.js":148}],326:[function(require,module,exports){ // from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js // thanks to @Rantanen @@ -90899,7 +91371,7 @@ var X509Certificate = asn.define('X509Certificate', function () { module.exports = X509Certificate -},{"asn1.js":147}],326:[function(require,module,exports){ +},{"asn1.js":148}],327:[function(require,module,exports){ (function (Buffer){ // adapted from https://github.com/apatil/pemstrip var findProc = /Proc-Type: 4,ENCRYPTED\n\r?DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\n\r?\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?/m @@ -90933,7 +91405,7 @@ module.exports = function (okey, password) { } }).call(this,require("buffer").Buffer) -},{"browserify-aes":170,"buffer":197,"evp_bytestokey":280}],327:[function(require,module,exports){ +},{"browserify-aes":171,"buffer":198,"evp_bytestokey":281}],328:[function(require,module,exports){ (function (Buffer){ var asn1 = require('./asn1') var aesid = require('./aesid.json') @@ -91043,7 +91515,7 @@ function decrypt (data, password) { } }).call(this,require("buffer").Buffer) -},{"./aesid.json":323,"./asn1":324,"./fixProc":326,"browserify-aes":170,"buffer":197,"pbkdf2":329}],328:[function(require,module,exports){ +},{"./aesid.json":324,"./asn1":325,"./fixProc":327,"browserify-aes":171,"buffer":198,"pbkdf2":330}],329:[function(require,module,exports){ var trim = require('trim') , forEach = require('for-each') , isArray = function(arg) { @@ -91075,13 +91547,13 @@ module.exports = function (headers) { return result } -},{"for-each":282,"trim":397}],329:[function(require,module,exports){ +},{"for-each":283,"trim":398}],330:[function(require,module,exports){ exports.pbkdf2 = require('./lib/async') exports.pbkdf2Sync = require('./lib/sync') -},{"./lib/async":330,"./lib/sync":333}],330:[function(require,module,exports){ +},{"./lib/async":331,"./lib/sync":334}],331:[function(require,module,exports){ (function (process,global){ var checkParameters = require('./precondition') var defaultEncoding = require('./default-encoding') @@ -91183,7 +91655,7 @@ module.exports = function (password, salt, iterations, keylen, digest, callback) } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./default-encoding":331,"./precondition":332,"./sync":333,"_process":335,"safe-buffer":372}],331:[function(require,module,exports){ +},{"./default-encoding":332,"./precondition":333,"./sync":334,"_process":336,"safe-buffer":373}],332:[function(require,module,exports){ (function (process){ var defaultEncoding /* istanbul ignore next */ @@ -91197,7 +91669,7 @@ if (process.browser) { module.exports = defaultEncoding }).call(this,require('_process')) -},{"_process":335}],332:[function(require,module,exports){ +},{"_process":336}],333:[function(require,module,exports){ var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs module.exports = function (iterations, keylen) { if (typeof iterations !== 'number') { @@ -91217,7 +91689,7 @@ module.exports = function (iterations, keylen) { } } -},{}],333:[function(require,module,exports){ +},{}],334:[function(require,module,exports){ var md5 = require('create-hash/md5') var rmd160 = require('ripemd160') var sha = require('sha.js') @@ -91320,7 +91792,7 @@ function pbkdf2 (password, salt, iterations, keylen, digest) { module.exports = pbkdf2 -},{"./default-encoding":331,"./precondition":332,"create-hash/md5":203,"ripemd160":370,"safe-buffer":372,"sha.js":382}],334:[function(require,module,exports){ +},{"./default-encoding":332,"./precondition":333,"create-hash/md5":204,"ripemd160":371,"safe-buffer":373,"sha.js":383}],335:[function(require,module,exports){ (function (process){ 'use strict'; @@ -91367,7 +91839,7 @@ function nextTick(fn, arg1, arg2, arg3) { } }).call(this,require('_process')) -},{"_process":335}],335:[function(require,module,exports){ +},{"_process":336}],336:[function(require,module,exports){ // shim for using process in browser var process = module.exports = {}; @@ -91553,7 +92025,7 @@ process.chdir = function (dir) { }; process.umask = function() { return 0; }; -},{}],336:[function(require,module,exports){ +},{}],337:[function(require,module,exports){ exports.publicEncrypt = require('./publicEncrypt'); exports.privateDecrypt = require('./privateDecrypt'); @@ -91564,7 +92036,7 @@ exports.privateEncrypt = function privateEncrypt(key, buf) { exports.publicDecrypt = function publicDecrypt(key, buf) { return exports.privateDecrypt(key, buf, true); }; -},{"./privateDecrypt":338,"./publicEncrypt":339}],337:[function(require,module,exports){ +},{"./privateDecrypt":339,"./publicEncrypt":340}],338:[function(require,module,exports){ (function (Buffer){ var createHash = require('create-hash'); module.exports = function (seed, len) { @@ -91583,7 +92055,7 @@ function i2ops(c) { return out; } }).call(this,require("buffer").Buffer) -},{"buffer":197,"create-hash":201}],338:[function(require,module,exports){ +},{"buffer":198,"create-hash":202}],339:[function(require,module,exports){ (function (Buffer){ var parseKeys = require('parse-asn1'); var mgf = require('./mgf'); @@ -91694,7 +92166,7 @@ function compare(a, b){ return dif; } }).call(this,require("buffer").Buffer) -},{"./mgf":337,"./withPublic":340,"./xor":341,"bn.js":165,"browserify-rsa":188,"buffer":197,"create-hash":201,"parse-asn1":327}],339:[function(require,module,exports){ +},{"./mgf":338,"./withPublic":341,"./xor":342,"bn.js":166,"browserify-rsa":189,"buffer":198,"create-hash":202,"parse-asn1":328}],340:[function(require,module,exports){ (function (Buffer){ var parseKeys = require('parse-asn1'); var randomBytes = require('randombytes'); @@ -91792,7 +92264,7 @@ function nonZero(len, crypto) { return out; } }).call(this,require("buffer").Buffer) -},{"./mgf":337,"./withPublic":340,"./xor":341,"bn.js":165,"browserify-rsa":188,"buffer":197,"create-hash":201,"parse-asn1":327,"randombytes":352}],340:[function(require,module,exports){ +},{"./mgf":338,"./withPublic":341,"./xor":342,"bn.js":166,"browserify-rsa":189,"buffer":198,"create-hash":202,"parse-asn1":328,"randombytes":353}],341:[function(require,module,exports){ (function (Buffer){ var bn = require('bn.js'); function withPublic(paddedMsg, key) { @@ -91805,7 +92277,7 @@ function withPublic(paddedMsg, key) { module.exports = withPublic; }).call(this,require("buffer").Buffer) -},{"bn.js":165,"buffer":197}],341:[function(require,module,exports){ +},{"bn.js":166,"buffer":198}],342:[function(require,module,exports){ module.exports = function xor(a, b) { var len = a.length; var i = -1; @@ -91814,7 +92286,7 @@ module.exports = function xor(a, b) { } return a }; -},{}],342:[function(require,module,exports){ +},{}],343:[function(require,module,exports){ (function (global){ /*! https://mths.be/punycode v1.4.1 by @mathias */ ;(function(root) { @@ -92351,7 +92823,7 @@ module.exports = function xor(a, b) { }(this)); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],343:[function(require,module,exports){ +},{}],344:[function(require,module,exports){ 'use strict'; var replace = String.prototype.replace; @@ -92371,7 +92843,7 @@ module.exports = { RFC3986: 'RFC3986' }; -},{}],344:[function(require,module,exports){ +},{}],345:[function(require,module,exports){ 'use strict'; var stringify = require('./stringify'); @@ -92384,7 +92856,7 @@ module.exports = { stringify: stringify }; -},{"./formats":343,"./parse":345,"./stringify":346}],345:[function(require,module,exports){ +},{"./formats":344,"./parse":346,"./stringify":347}],346:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -92560,7 +93032,7 @@ module.exports = function (str, opts) { return utils.compact(obj); }; -},{"./utils":347}],346:[function(require,module,exports){ +},{"./utils":348}],347:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -92772,7 +93244,7 @@ module.exports = function (object, opts) { return joined.length > 0 ? prefix + joined : ''; }; -},{"./formats":343,"./utils":347}],347:[function(require,module,exports){ +},{"./formats":344,"./utils":348}],348:[function(require,module,exports){ 'use strict'; var has = Object.prototype.hasOwnProperty; @@ -92976,7 +93448,7 @@ exports.isBuffer = function isBuffer(obj) { return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); }; -},{}],348:[function(require,module,exports){ +},{}],349:[function(require,module,exports){ 'use strict'; var strictUriEncode = require('strict-uri-encode'); var objectAssign = require('object-assign'); @@ -93202,7 +93674,7 @@ exports.parseUrl = function (str, opts) { }; }; -},{"decode-uri-component":241,"object-assign":321,"strict-uri-encode":390}],349:[function(require,module,exports){ +},{"decode-uri-component":242,"object-assign":322,"strict-uri-encode":391}],350:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -93288,7 +93760,7 @@ var isArray = Array.isArray || function (xs) { return Object.prototype.toString.call(xs) === '[object Array]'; }; -},{}],350:[function(require,module,exports){ +},{}],351:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -93375,13 +93847,13 @@ var objectKeys = Object.keys || function (obj) { return res; }; -},{}],351:[function(require,module,exports){ +},{}],352:[function(require,module,exports){ 'use strict'; exports.decode = exports.parse = require('./decode'); exports.encode = exports.stringify = require('./encode'); -},{"./decode":349,"./encode":350}],352:[function(require,module,exports){ +},{"./decode":350,"./encode":351}],353:[function(require,module,exports){ (function (process,global){ 'use strict' @@ -93423,7 +93895,7 @@ function randomBytes (size, cb) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":335,"safe-buffer":372}],353:[function(require,module,exports){ +},{"_process":336,"safe-buffer":373}],354:[function(require,module,exports){ (function (process,global){ 'use strict' @@ -93535,11 +94007,11 @@ function randomFillSync (buf, offset, size) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":335,"randombytes":352,"safe-buffer":372}],354:[function(require,module,exports){ +},{"_process":336,"randombytes":353,"safe-buffer":373}],355:[function(require,module,exports){ module.exports = window.crypto; -},{}],355:[function(require,module,exports){ +},{}],356:[function(require,module,exports){ module.exports = require('crypto'); -},{"crypto":354}],356:[function(require,module,exports){ +},{"crypto":355}],357:[function(require,module,exports){ var randomHex = function(size, callback) { var crypto = require('./crypto.js'); var isCallback = (typeof callback === 'function'); @@ -93605,10 +94077,10 @@ var randomHex = function(size, callback) { module.exports = randomHex; -},{"./crypto.js":355}],357:[function(require,module,exports){ +},{"./crypto.js":356}],358:[function(require,module,exports){ module.exports = require('./lib/_stream_duplex.js'); -},{"./lib/_stream_duplex.js":358}],358:[function(require,module,exports){ +},{"./lib/_stream_duplex.js":359}],359:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -93733,7 +94205,7 @@ function forEach(xs, f) { f(xs[i], i); } } -},{"./_stream_readable":360,"./_stream_writable":362,"core-util-is":199,"inherits":300,"process-nextick-args":334}],359:[function(require,module,exports){ +},{"./_stream_readable":361,"./_stream_writable":363,"core-util-is":200,"inherits":301,"process-nextick-args":335}],360:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -93781,7 +94253,7 @@ function PassThrough(options) { PassThrough.prototype._transform = function (chunk, encoding, cb) { cb(null, chunk); }; -},{"./_stream_transform":361,"core-util-is":199,"inherits":300}],360:[function(require,module,exports){ +},{"./_stream_transform":362,"core-util-is":200,"inherits":301}],361:[function(require,module,exports){ (function (process,global){ // Copyright Joyent, Inc. and other Node contributors. // @@ -94791,7 +95263,7 @@ function indexOf(xs, x) { return -1; } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./_stream_duplex":358,"./internal/streams/BufferList":363,"./internal/streams/destroy":364,"./internal/streams/stream":365,"_process":335,"core-util-is":199,"events":279,"inherits":300,"isarray":305,"process-nextick-args":334,"safe-buffer":372,"string_decoder/":391,"util":167}],361:[function(require,module,exports){ +},{"./_stream_duplex":359,"./internal/streams/BufferList":364,"./internal/streams/destroy":365,"./internal/streams/stream":366,"_process":336,"core-util-is":200,"events":280,"inherits":301,"isarray":306,"process-nextick-args":335,"safe-buffer":373,"string_decoder/":392,"util":168}],362:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -95006,7 +95478,7 @@ function done(stream, er, data) { return stream.push(null); } -},{"./_stream_duplex":358,"core-util-is":199,"inherits":300}],362:[function(require,module,exports){ +},{"./_stream_duplex":359,"core-util-is":200,"inherits":301}],363:[function(require,module,exports){ (function (process,global){ // Copyright Joyent, Inc. and other Node contributors. // @@ -95673,7 +96145,7 @@ Writable.prototype._destroy = function (err, cb) { cb(err); }; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./_stream_duplex":358,"./internal/streams/destroy":364,"./internal/streams/stream":365,"_process":335,"core-util-is":199,"inherits":300,"process-nextick-args":334,"safe-buffer":372,"util-deprecate":403}],363:[function(require,module,exports){ +},{"./_stream_duplex":359,"./internal/streams/destroy":365,"./internal/streams/stream":366,"_process":336,"core-util-is":200,"inherits":301,"process-nextick-args":335,"safe-buffer":373,"util-deprecate":404}],364:[function(require,module,exports){ 'use strict'; /**/ @@ -95748,7 +96220,7 @@ module.exports = function () { return BufferList; }(); -},{"safe-buffer":372}],364:[function(require,module,exports){ +},{"safe-buffer":373}],365:[function(require,module,exports){ 'use strict'; /**/ @@ -95821,13 +96293,13 @@ module.exports = { destroy: destroy, undestroy: undestroy }; -},{"process-nextick-args":334}],365:[function(require,module,exports){ +},{"process-nextick-args":335}],366:[function(require,module,exports){ module.exports = require('events').EventEmitter; -},{"events":279}],366:[function(require,module,exports){ +},{"events":280}],367:[function(require,module,exports){ module.exports = require('./readable').PassThrough -},{"./readable":367}],367:[function(require,module,exports){ +},{"./readable":368}],368:[function(require,module,exports){ exports = module.exports = require('./lib/_stream_readable.js'); exports.Stream = exports; exports.Readable = exports; @@ -95836,13 +96308,13 @@ exports.Duplex = require('./lib/_stream_duplex.js'); exports.Transform = require('./lib/_stream_transform.js'); exports.PassThrough = require('./lib/_stream_passthrough.js'); -},{"./lib/_stream_duplex.js":358,"./lib/_stream_passthrough.js":359,"./lib/_stream_readable.js":360,"./lib/_stream_transform.js":361,"./lib/_stream_writable.js":362}],368:[function(require,module,exports){ +},{"./lib/_stream_duplex.js":359,"./lib/_stream_passthrough.js":360,"./lib/_stream_readable.js":361,"./lib/_stream_transform.js":362,"./lib/_stream_writable.js":363}],369:[function(require,module,exports){ module.exports = require('./readable').Transform -},{"./readable":367}],369:[function(require,module,exports){ +},{"./readable":368}],370:[function(require,module,exports){ module.exports = require('./lib/_stream_writable.js'); -},{"./lib/_stream_writable.js":362}],370:[function(require,module,exports){ +},{"./lib/_stream_writable.js":363}],371:[function(require,module,exports){ (function (Buffer){ 'use strict' var inherits = require('inherits') @@ -96137,7 +96609,7 @@ function fn5 (a, b, c, d, e, m, k, s) { module.exports = RIPEMD160 }).call(this,require("buffer").Buffer) -},{"buffer":197,"hash-base":284,"inherits":300}],371:[function(require,module,exports){ +},{"buffer":198,"hash-base":285,"inherits":301}],372:[function(require,module,exports){ const assert = require('assert') const Buffer = require('safe-buffer').Buffer /** @@ -96369,7 +96841,7 @@ function toBuffer (v) { return v } -},{"assert":161,"safe-buffer":372}],372:[function(require,module,exports){ +},{"assert":162,"safe-buffer":373}],373:[function(require,module,exports){ /* eslint-disable node/no-deprecated-api */ var buffer = require('buffer') var Buffer = buffer.Buffer @@ -96433,10 +96905,10 @@ SafeBuffer.allocUnsafeSlow = function (size) { return buffer.SlowBuffer(size) } -},{"buffer":197}],373:[function(require,module,exports){ +},{"buffer":198}],374:[function(require,module,exports){ module.exports = require('scryptsy') -},{"scryptsy":374}],374:[function(require,module,exports){ +},{"scryptsy":375}],375:[function(require,module,exports){ (function (Buffer){ var pbkdf2Sync = require('pbkdf2').pbkdf2Sync @@ -96619,11 +97091,11 @@ function arraycopy (src, srcPos, dest, destPos, length) { module.exports = scrypt }).call(this,require("buffer").Buffer) -},{"buffer":197,"pbkdf2":329}],375:[function(require,module,exports){ +},{"buffer":198,"pbkdf2":330}],376:[function(require,module,exports){ 'use strict' module.exports = require('./lib')(require('./lib/elliptic')) -},{"./lib":379,"./lib/elliptic":378}],376:[function(require,module,exports){ +},{"./lib":380,"./lib/elliptic":379}],377:[function(require,module,exports){ (function (Buffer){ 'use strict' var toString = Object.prototype.toString @@ -96671,7 +97143,7 @@ exports.isNumberInInterval = function (number, x, y, message) { } }).call(this,{"isBuffer":require("../../is-buffer/index.js")}) -},{"../../is-buffer/index.js":301}],377:[function(require,module,exports){ +},{"../../is-buffer/index.js":302}],378:[function(require,module,exports){ 'use strict' var Buffer = require('safe-buffer').Buffer var bip66 = require('bip66') @@ -96866,7 +97338,7 @@ exports.signatureImportLax = function (sig) { return { r: r, s: s } } -},{"bip66":164,"safe-buffer":372}],378:[function(require,module,exports){ +},{"bip66":165,"safe-buffer":373}],379:[function(require,module,exports){ 'use strict' var Buffer = require('safe-buffer').Buffer var createHash = require('create-hash') @@ -97128,7 +97600,7 @@ exports.ecdhUnsafe = function (publicKey, privateKey, compressed) { return Buffer.from(pair.pub.mul(scalar).encode(true, compressed)) } -},{"../messages.json":380,"bn.js":165,"create-hash":201,"elliptic":252,"safe-buffer":372}],379:[function(require,module,exports){ +},{"../messages.json":381,"bn.js":166,"create-hash":202,"elliptic":253,"safe-buffer":373}],380:[function(require,module,exports){ 'use strict' var assert = require('./assert') var der = require('./der') @@ -97375,7 +97847,7 @@ module.exports = function (secp256k1) { } } -},{"./assert":376,"./der":377,"./messages.json":380}],380:[function(require,module,exports){ +},{"./assert":377,"./der":378,"./messages.json":381}],381:[function(require,module,exports){ module.exports={ "COMPRESSED_TYPE_INVALID": "compressed should be a boolean", "EC_PRIVATE_KEY_TYPE_INVALID": "private key should be a Buffer", @@ -97414,7 +97886,7 @@ module.exports={ "TWEAK_LENGTH_INVALID": "tweak length is invalid" } -},{}],381:[function(require,module,exports){ +},{}],382:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer // prototype class for hash functions @@ -97497,7 +97969,7 @@ Hash.prototype._update = function () { module.exports = Hash -},{"safe-buffer":372}],382:[function(require,module,exports){ +},{"safe-buffer":373}],383:[function(require,module,exports){ var exports = module.exports = function SHA (algorithm) { algorithm = algorithm.toLowerCase() @@ -97514,7 +97986,7 @@ exports.sha256 = require('./sha256') exports.sha384 = require('./sha384') exports.sha512 = require('./sha512') -},{"./sha":383,"./sha1":384,"./sha224":385,"./sha256":386,"./sha384":387,"./sha512":388}],383:[function(require,module,exports){ +},{"./sha":384,"./sha1":385,"./sha224":386,"./sha256":387,"./sha384":388,"./sha512":389}],384:[function(require,module,exports){ /* * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined * in FIPS PUB 180-1 @@ -97610,7 +98082,7 @@ Sha.prototype._hash = function () { module.exports = Sha -},{"./hash":381,"inherits":300,"safe-buffer":372}],384:[function(require,module,exports){ +},{"./hash":382,"inherits":301,"safe-buffer":373}],385:[function(require,module,exports){ /* * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined * in FIPS PUB 180-1 @@ -97711,7 +98183,7 @@ Sha1.prototype._hash = function () { module.exports = Sha1 -},{"./hash":381,"inherits":300,"safe-buffer":372}],385:[function(require,module,exports){ +},{"./hash":382,"inherits":301,"safe-buffer":373}],386:[function(require,module,exports){ /** * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined * in FIPS 180-2 @@ -97766,7 +98238,7 @@ Sha224.prototype._hash = function () { module.exports = Sha224 -},{"./hash":381,"./sha256":386,"inherits":300,"safe-buffer":372}],386:[function(require,module,exports){ +},{"./hash":382,"./sha256":387,"inherits":301,"safe-buffer":373}],387:[function(require,module,exports){ /** * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined * in FIPS 180-2 @@ -97903,7 +98375,7 @@ Sha256.prototype._hash = function () { module.exports = Sha256 -},{"./hash":381,"inherits":300,"safe-buffer":372}],387:[function(require,module,exports){ +},{"./hash":382,"inherits":301,"safe-buffer":373}],388:[function(require,module,exports){ var inherits = require('inherits') var SHA512 = require('./sha512') var Hash = require('./hash') @@ -97962,7 +98434,7 @@ Sha384.prototype._hash = function () { module.exports = Sha384 -},{"./hash":381,"./sha512":388,"inherits":300,"safe-buffer":372}],388:[function(require,module,exports){ +},{"./hash":382,"./sha512":389,"inherits":301,"safe-buffer":373}],389:[function(require,module,exports){ var inherits = require('inherits') var Hash = require('./hash') var Buffer = require('safe-buffer').Buffer @@ -98224,7 +98696,7 @@ Sha512.prototype._hash = function () { module.exports = Sha512 -},{"./hash":381,"inherits":300,"safe-buffer":372}],389:[function(require,module,exports){ +},{"./hash":382,"inherits":301,"safe-buffer":373}],390:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -98353,7 +98825,7 @@ Stream.prototype.pipe = function(dest, options) { return dest; }; -},{"events":279,"inherits":300,"readable-stream/duplex.js":357,"readable-stream/passthrough.js":366,"readable-stream/readable.js":367,"readable-stream/transform.js":368,"readable-stream/writable.js":369}],390:[function(require,module,exports){ +},{"events":280,"inherits":301,"readable-stream/duplex.js":358,"readable-stream/passthrough.js":367,"readable-stream/readable.js":368,"readable-stream/transform.js":369,"readable-stream/writable.js":370}],391:[function(require,module,exports){ 'use strict'; module.exports = function (str) { return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { @@ -98361,7 +98833,7 @@ module.exports = function (str) { }); }; -},{}],391:[function(require,module,exports){ +},{}],392:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -98634,7 +99106,7 @@ function simpleWrite(buf) { function simpleEnd(buf) { return buf && buf.length ? this.write(buf) : ''; } -},{"safe-buffer":372}],392:[function(require,module,exports){ +},{"safe-buffer":373}],393:[function(require,module,exports){ var isHexPrefixed = require('is-hex-prefixed'); /** @@ -98650,7 +99122,7 @@ module.exports = function stripHexPrefix(str) { return isHexPrefixed(str) ? str.slice(2) : str; } -},{"is-hex-prefixed":304}],393:[function(require,module,exports){ +},{"is-hex-prefixed":305}],394:[function(require,module,exports){ var unavailable = function unavailable() { throw "This swarm.js function isn't available on the browser."; }; @@ -98683,7 +99155,7 @@ module.exports = swarm({ hash: hash, pick: pick }); -},{"./pick.js":394,"./swarm":396,"./swarm-hash.js":395,"eth-lib/lib/bytes":269,"xhr-request-promise":464}],394:[function(require,module,exports){ +},{"./pick.js":395,"./swarm":397,"./swarm-hash.js":396,"eth-lib/lib/bytes":270,"xhr-request-promise":465}],395:[function(require,module,exports){ var picker = function picker(type) { return function () { return new Promise(function (resolve, reject) { @@ -98741,7 +99213,7 @@ module.exports = { file: picker("file"), directory: picker("directory") }; -},{}],395:[function(require,module,exports){ +},{}],396:[function(require,module,exports){ // Thanks https://github.com/axic/swarmhash var keccak = require("eth-lib/lib/hash").keccak256; @@ -98782,7 +99254,7 @@ var swarmHash = function swarmHash(data) { }; module.exports = swarmHash; -},{"eth-lib/lib/bytes":269,"eth-lib/lib/hash":270}],396:[function(require,module,exports){ +},{"eth-lib/lib/bytes":270,"eth-lib/lib/hash":271}],397:[function(require,module,exports){ // TODO: this is a temporary fix to hide those libraries from the browser. A // slightly better long-term solution would be to split this file into two, // separating the functions that are used on Node.js from the functions that @@ -99409,7 +99881,7 @@ module.exports = function (_ref) { }; }; -},{}],397:[function(require,module,exports){ +},{}],398:[function(require,module,exports){ exports = module.exports = trim; @@ -99425,7 +99897,7 @@ exports.right = function(str){ return str.replace(/\s*$/, ''); }; -},{}],398:[function(require,module,exports){ +},{}],399:[function(require,module,exports){ // Underscore.js 1.8.3 // http://underscorejs.org // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors @@ -100975,7 +101447,7 @@ exports.right = function(str){ } }.call(this)); -},{}],399:[function(require,module,exports){ +},{}],400:[function(require,module,exports){ module.exports = urlSetQuery function urlSetQuery (url, query) { if (query) { @@ -101000,7 +101472,7 @@ function urlSetQuery (url, query) { return url } -},{}],400:[function(require,module,exports){ +},{}],401:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -101734,7 +102206,7 @@ Url.prototype.parseHost = function() { if (host) this.hostname = host; }; -},{"./util":401,"punycode":342,"querystring":351}],401:[function(require,module,exports){ +},{"./util":402,"punycode":343,"querystring":352}],402:[function(require,module,exports){ 'use strict'; module.exports = { @@ -101752,7 +102224,7 @@ module.exports = { } }; -},{}],402:[function(require,module,exports){ +},{}],403:[function(require,module,exports){ (function (global){ /*! https://mths.be/utf8js v2.0.0 by @mathias */ ;(function(root) { @@ -102000,7 +102472,7 @@ module.exports = { }(this)); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],403:[function(require,module,exports){ +},{}],404:[function(require,module,exports){ (function (global){ /** @@ -102071,16 +102543,16 @@ function config (name) { } }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],404:[function(require,module,exports){ -arguments[4][300][0].apply(exports,arguments) -},{"dup":300}],405:[function(require,module,exports){ +},{}],405:[function(require,module,exports){ +arguments[4][301][0].apply(exports,arguments) +},{"dup":301}],406:[function(require,module,exports){ module.exports = function isBuffer(arg) { return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function'; } -},{}],406:[function(require,module,exports){ +},{}],407:[function(require,module,exports){ (function (process,global){ // Copyright Joyent, Inc. and other Node contributors. // @@ -102670,7 +103142,7 @@ function hasOwnProperty(obj, prop) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./support/isBuffer":405,"_process":335,"inherits":404}],407:[function(require,module,exports){ +},{"./support/isBuffer":406,"_process":336,"inherits":405}],408:[function(require,module,exports){ var indexOf = require('indexof'); var Object_keys = function (obj) { @@ -102810,7 +103282,7 @@ exports.createContext = Script.createContext = function (context) { return copy; }; -},{"indexof":299}],408:[function(require,module,exports){ +},{"indexof":300}],409:[function(require,module,exports){ /* This file is part of web3.js. @@ -102900,7 +103372,7 @@ Bzz.prototype.setProvider = function(provider) { module.exports = Bzz; -},{"swarm-js":393,"underscore":398}],409:[function(require,module,exports){ +},{"swarm-js":394,"underscore":399}],410:[function(require,module,exports){ /* This file is part of web3.js. @@ -102949,7 +103421,7 @@ module.exports = { } }; -},{}],410:[function(require,module,exports){ +},{}],411:[function(require,module,exports){ /* This file is part of web3.js. @@ -103387,7 +103859,7 @@ module.exports = { }; -},{"underscore":398,"web3-eth-iban":446,"web3-utils":456}],411:[function(require,module,exports){ +},{"underscore":399,"web3-eth-iban":447,"web3-utils":457}],412:[function(require,module,exports){ /* This file is part of web3.js. @@ -103421,7 +103893,7 @@ module.exports = { }; -},{"./errors":409,"./formatters":410}],412:[function(require,module,exports){ +},{"./errors":410,"./formatters":411}],413:[function(require,module,exports){ /* This file is part of web3.js. @@ -104032,7 +104504,7 @@ Method.prototype.request = function () { module.exports = Method; -},{"underscore":398,"web3-core-helpers":411,"web3-core-promievent":413,"web3-core-subscriptions":418,"web3-utils":456}],413:[function(require,module,exports){ +},{"underscore":399,"web3-core-helpers":412,"web3-core-promievent":414,"web3-core-subscriptions":419,"web3-utils":457}],414:[function(require,module,exports){ /* This file is part of web3.js. @@ -104109,7 +104581,7 @@ PromiEvent.resolve = function(value) { module.exports = PromiEvent; -},{"any-promise":144,"eventemitter3":278}],414:[function(require,module,exports){ +},{"any-promise":145,"eventemitter3":279}],415:[function(require,module,exports){ /* This file is part of web3.js. @@ -104183,7 +104655,7 @@ Batch.prototype.execute = function () { module.exports = Batch; -},{"./jsonrpc":417,"web3-core-helpers":411}],415:[function(require,module,exports){ +},{"./jsonrpc":418,"web3-core-helpers":412}],416:[function(require,module,exports){ /* This file is part of web3.js. @@ -104271,7 +104743,7 @@ if(typeof global.ethereumProvider !== 'undefined') { module.exports = givenProvider; -},{}],416:[function(require,module,exports){ +},{}],417:[function(require,module,exports){ /* This file is part of web3.js. @@ -104519,7 +104991,7 @@ module.exports = { BatchManager: BatchManager }; -},{"./batch.js":414,"./givenProvider.js":415,"./jsonrpc.js":417,"underscore":398,"web3-core-helpers":411,"web3-providers-http":451,"web3-providers-ipc":452,"web3-providers-ws":453}],417:[function(require,module,exports){ +},{"./batch.js":415,"./givenProvider.js":416,"./jsonrpc.js":418,"underscore":399,"web3-core-helpers":412,"web3-providers-http":452,"web3-providers-ipc":453,"web3-providers-ws":454}],418:[function(require,module,exports){ /* This file is part of web3.js. @@ -104610,7 +105082,7 @@ Jsonrpc.toBatchPayload = function (messages) { module.exports = Jsonrpc; -},{}],418:[function(require,module,exports){ +},{}],419:[function(require,module,exports){ /* This file is part of web3.js. @@ -104688,7 +105160,7 @@ module.exports = { subscription: Subscription }; -},{"./subscription.js":419}],419:[function(require,module,exports){ +},{"./subscription.js":420}],420:[function(require,module,exports){ /* This file is part of web3.js. @@ -105005,7 +105477,7 @@ Subscription.prototype.subscribe = function() { module.exports = Subscription; -},{"eventemitter3":278,"underscore":398,"web3-core-helpers":411}],420:[function(require,module,exports){ +},{"eventemitter3":279,"underscore":399,"web3-core-helpers":412}],421:[function(require,module,exports){ /* This file is part of web3.js. @@ -105076,7 +105548,7 @@ var extend = function (pckg) { module.exports = extend; -},{"web3-core-helpers":411,"web3-core-method":412,"web3-utils":456}],421:[function(require,module,exports){ +},{"web3-core-helpers":412,"web3-core-method":413,"web3-utils":457}],422:[function(require,module,exports){ /* This file is part of web3.js. @@ -105164,9 +105636,9 @@ module.exports = { }; -},{"./extend.js":420,"web3-core-requestmanager":416}],422:[function(require,module,exports){ -arguments[4][276][0].apply(exports,arguments) -},{"dup":276}],423:[function(require,module,exports){ +},{"./extend.js":421,"web3-core-requestmanager":417}],423:[function(require,module,exports){ +arguments[4][277][0].apply(exports,arguments) +},{"dup":277}],424:[function(require,module,exports){ /* This file is part of web3.js. @@ -105456,7 +105928,7 @@ module.exports = { toTwosComplement: utils.toTwosComplement }; -},{"./param":425,"bn.js":422,"underscore":398,"web3-utils":456}],424:[function(require,module,exports){ +},{"./param":426,"bn.js":423,"underscore":399,"web3-utils":457}],425:[function(require,module,exports){ /* This file is part of web3.js. @@ -105866,7 +106338,7 @@ var coder = new ABICoder([ module.exports = coder; -},{"./formatters":423,"./types/address":427,"./types/bool":428,"./types/bytes":429,"./types/dynamicbytes":430,"./types/int":431,"./types/string":432,"./types/uint":433,"underscore":398,"web3-utils":456}],425:[function(require,module,exports){ +},{"./formatters":424,"./types/address":428,"./types/bool":429,"./types/bytes":430,"./types/dynamicbytes":431,"./types/int":432,"./types/string":433,"./types/uint":434,"underscore":399,"web3-utils":457}],426:[function(require,module,exports){ /* This file is part of web3.js. @@ -106021,7 +106493,7 @@ SolidityParam.encodeList = function (params) { module.exports = SolidityParam; -},{"./formatters.js":423}],426:[function(require,module,exports){ +},{"./formatters.js":424}],427:[function(require,module,exports){ var f = require('./formatters'); var SolidityParam = require('./param'); @@ -106278,7 +106750,7 @@ SolidityType.prototype.decode = function (bytes, offset, name) { module.exports = SolidityType; -},{"./formatters":423,"./param":425}],427:[function(require,module,exports){ +},{"./formatters":424,"./param":426}],428:[function(require,module,exports){ var f = require('../formatters'); var formatters = require('web3-core-helpers').formatters; var SolidityType = require('../type'); @@ -106311,7 +106783,7 @@ SolidityTypeAddress.prototype.isType = function (name) { module.exports = SolidityTypeAddress; -},{"../formatters":423,"../type":426,"web3-core-helpers":411}],428:[function(require,module,exports){ +},{"../formatters":424,"../type":427,"web3-core-helpers":412}],429:[function(require,module,exports){ var f = require('../formatters'); var SolidityType = require('../type'); @@ -106339,7 +106811,7 @@ SolidityTypeBool.prototype.isType = function (name) { module.exports = SolidityTypeBool; -},{"../formatters":423,"../type":426}],429:[function(require,module,exports){ +},{"../formatters":424,"../type":427}],430:[function(require,module,exports){ var f = require('../formatters'); var SolidityType = require('../type'); @@ -106370,7 +106842,7 @@ SolidityTypeBytes.prototype.isType = function (name) { module.exports = SolidityTypeBytes; -},{"../formatters":423,"../type":426}],430:[function(require,module,exports){ +},{"../formatters":424,"../type":427}],431:[function(require,module,exports){ var f = require('../formatters'); var SolidityType = require('../type'); @@ -106392,7 +106864,7 @@ SolidityTypeDynamicBytes.prototype.isDynamicType = function () { module.exports = SolidityTypeDynamicBytes; -},{"../formatters":423,"../type":426}],431:[function(require,module,exports){ +},{"../formatters":424,"../type":427}],432:[function(require,module,exports){ var f = require('../formatters'); var SolidityType = require('../type'); @@ -106426,7 +106898,7 @@ SolidityTypeInt.prototype.isType = function (name) { module.exports = SolidityTypeInt; -},{"../formatters":423,"../type":426}],432:[function(require,module,exports){ +},{"../formatters":424,"../type":427}],433:[function(require,module,exports){ var f = require('../formatters'); var SolidityType = require('../type'); @@ -106448,7 +106920,7 @@ SolidityTypeString.prototype.isDynamicType = function () { module.exports = SolidityTypeString; -},{"../formatters":423,"../type":426}],433:[function(require,module,exports){ +},{"../formatters":424,"../type":427}],434:[function(require,module,exports){ var f = require('../formatters'); var SolidityType = require('../type'); @@ -106482,7 +106954,7 @@ SolidityTypeUInt.prototype.isType = function (name) { module.exports = SolidityTypeUInt; -},{"../formatters":423,"../type":426}],434:[function(require,module,exports){ +},{"../formatters":424,"../type":427}],435:[function(require,module,exports){ 'use strict' exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes') @@ -106581,7 +107053,7 @@ exports.constants = { 'POINT_CONVERSION_HYBRID': 6 } -},{"browserify-cipher":185,"browserify-sign":193,"browserify-sign/algos":190,"create-ecdh":200,"create-hash":201,"create-hmac":204,"diffie-hellman":248,"pbkdf2":329,"public-encrypt":336,"randombytes":352,"randomfill":353}],435:[function(require,module,exports){ +},{"browserify-cipher":186,"browserify-sign":194,"browserify-sign/algos":191,"create-ecdh":201,"create-hash":202,"create-hmac":205,"diffie-hellman":249,"pbkdf2":330,"public-encrypt":337,"randombytes":353,"randomfill":354}],436:[function(require,module,exports){ (function (Buffer){ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); @@ -106665,13 +107137,13 @@ module.exports = { decodeSignature: decodeSignature }; }).call(this,require("buffer").Buffer) -},{"./bytes":437,"./hash":438,"./nat":439,"./rlp":440,"buffer":197,"elliptic":252}],436:[function(require,module,exports){ -arguments[4][268][0].apply(exports,arguments) -},{"dup":268}],437:[function(require,module,exports){ +},{"./bytes":438,"./hash":439,"./nat":440,"./rlp":441,"buffer":198,"elliptic":253}],437:[function(require,module,exports){ arguments[4][269][0].apply(exports,arguments) -},{"./array.js":436,"dup":269}],438:[function(require,module,exports){ +},{"dup":269}],438:[function(require,module,exports){ arguments[4][270][0].apply(exports,arguments) -},{"dup":270}],439:[function(require,module,exports){ +},{"./array.js":437,"dup":270}],439:[function(require,module,exports){ +arguments[4][271][0].apply(exports,arguments) +},{"dup":271}],440:[function(require,module,exports){ var BN = require("bn.js"); var Bytes = require("./bytes"); @@ -106736,7 +107208,7 @@ module.exports = { div: div, sub: sub }; -},{"./bytes":437,"bn.js":165}],440:[function(require,module,exports){ +},{"./bytes":438,"bn.js":166}],441:[function(require,module,exports){ // The RLP format // Serialization and deserialization for the BytesTree type, under the following grammar: // | First byte | Meaning | @@ -106810,7 +107282,7 @@ var decode = function decode(hex) { }; module.exports = { encode: encode, decode: decode }; -},{}],441:[function(require,module,exports){ +},{}],442:[function(require,module,exports){ (function (global){ var rng; @@ -106845,7 +107317,7 @@ module.exports = rng; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],442:[function(require,module,exports){ +},{}],443:[function(require,module,exports){ // uuid.js // // Copyright (c) 2010-2012 Robert Kieffer @@ -107030,7 +107502,7 @@ uuid.unparse = unparse; module.exports = uuid; -},{"./rng":441}],443:[function(require,module,exports){ +},{"./rng":442}],444:[function(require,module,exports){ (function (global,Buffer){ /* This file is part of web3.js. @@ -107568,7 +108040,7 @@ if (typeof localStorage === 'undefined') { module.exports = Accounts; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) -},{"any-promise":144,"buffer":197,"crypto":206,"crypto-browserify":434,"eth-lib/lib/account":435,"eth-lib/lib/bytes":437,"eth-lib/lib/hash":438,"eth-lib/lib/nat":439,"eth-lib/lib/rlp":440,"scrypt.js":373,"underscore":398,"uuid":442,"web3-core":421,"web3-core-helpers":411,"web3-core-method":412,"web3-utils":456}],444:[function(require,module,exports){ +},{"any-promise":145,"buffer":198,"crypto":207,"crypto-browserify":435,"eth-lib/lib/account":436,"eth-lib/lib/bytes":438,"eth-lib/lib/hash":439,"eth-lib/lib/nat":440,"eth-lib/lib/rlp":441,"scrypt.js":374,"underscore":399,"uuid":443,"web3-core":422,"web3-core-helpers":412,"web3-core-method":413,"web3-utils":457}],445:[function(require,module,exports){ /* This file is part of web3.js. @@ -108469,9 +108941,9 @@ Contract.prototype._executeMethod = function _executeMethod(){ module.exports = Contract; -},{"underscore":398,"web3-core":421,"web3-core-helpers":411,"web3-core-method":412,"web3-core-promievent":413,"web3-core-subscriptions":418,"web3-eth-abi":424,"web3-utils":456}],445:[function(require,module,exports){ -arguments[4][276][0].apply(exports,arguments) -},{"dup":276}],446:[function(require,module,exports){ +},{"underscore":399,"web3-core":422,"web3-core-helpers":412,"web3-core-method":413,"web3-core-promievent":414,"web3-core-subscriptions":419,"web3-eth-abi":425,"web3-utils":457}],446:[function(require,module,exports){ +arguments[4][277][0].apply(exports,arguments) +},{"dup":277}],447:[function(require,module,exports){ /* This file is part of web3.js. @@ -108740,7 +109212,7 @@ Iban.prototype.toString = function () { module.exports = Iban; -},{"bn.js":445,"web3-utils":456}],447:[function(require,module,exports){ +},{"bn.js":446,"web3-utils":457}],448:[function(require,module,exports){ /* This file is part of web3.js. @@ -108892,7 +109364,7 @@ module.exports = Personal; -},{"web3-core":421,"web3-core-helpers":411,"web3-core-method":412,"web3-net":450,"web3-utils":456}],448:[function(require,module,exports){ +},{"web3-core":422,"web3-core-helpers":412,"web3-core-method":413,"web3-net":451,"web3-utils":457}],449:[function(require,module,exports){ /* This file is part of web3.js. @@ -108972,7 +109444,7 @@ var getNetworkType = function (callback) { module.exports = getNetworkType; -},{"underscore":398}],449:[function(require,module,exports){ +},{"underscore":399}],450:[function(require,module,exports){ /* This file is part of web3.js. @@ -109445,7 +109917,7 @@ core.addProviders(Eth); module.exports = Eth; -},{"./getNetworkType.js":448,"underscore":398,"web3-core":421,"web3-core-helpers":411,"web3-core-method":412,"web3-core-subscriptions":418,"web3-eth-abi":424,"web3-eth-accounts":443,"web3-eth-contract":444,"web3-eth-iban":446,"web3-eth-personal":447,"web3-net":450,"web3-utils":456}],450:[function(require,module,exports){ +},{"./getNetworkType.js":449,"underscore":399,"web3-core":422,"web3-core-helpers":412,"web3-core-method":413,"web3-core-subscriptions":419,"web3-eth-abi":425,"web3-eth-accounts":444,"web3-eth-contract":445,"web3-eth-iban":447,"web3-eth-personal":448,"web3-net":451,"web3-utils":457}],451:[function(require,module,exports){ /* This file is part of web3.js. @@ -109514,7 +109986,7 @@ module.exports = Net; -},{"web3-core":421,"web3-core-method":412,"web3-utils":456}],451:[function(require,module,exports){ +},{"web3-core":422,"web3-core-method":413,"web3-utils":457}],452:[function(require,module,exports){ /* This file is part of web3.js. @@ -109611,7 +110083,7 @@ HttpProvider.prototype.send = function (payload, callback) { module.exports = HttpProvider; -},{"web3-core-helpers":411,"xhr2":470}],452:[function(require,module,exports){ +},{"web3-core-helpers":412,"xhr2":471}],453:[function(require,module,exports){ /* This file is part of web3.js. @@ -109922,7 +110394,7 @@ IpcProvider.prototype.reset = function () { module.exports = IpcProvider; -},{"oboe":322,"underscore":398,"web3-core-helpers":411}],453:[function(require,module,exports){ +},{"oboe":323,"underscore":399,"web3-core-helpers":412}],454:[function(require,module,exports){ (function (Buffer){ /* This file is part of web3.js. @@ -110292,7 +110764,7 @@ WebsocketProvider.prototype.reset = function () { module.exports = WebsocketProvider; }).call(this,require("buffer").Buffer) -},{"buffer":197,"underscore":398,"url":400,"web3-core-helpers":411,"websocket":461}],454:[function(require,module,exports){ +},{"buffer":198,"underscore":399,"url":401,"web3-core-helpers":412,"websocket":462}],455:[function(require,module,exports){ /* This file is part of web3.js. @@ -110477,9 +110949,9 @@ module.exports = Shh; -},{"web3-core":421,"web3-core-method":412,"web3-core-subscriptions":418,"web3-net":450}],455:[function(require,module,exports){ -arguments[4][276][0].apply(exports,arguments) -},{"dup":276}],456:[function(require,module,exports){ +},{"web3-core":422,"web3-core-method":413,"web3-core-subscriptions":419,"web3-net":451}],456:[function(require,module,exports){ +arguments[4][277][0].apply(exports,arguments) +},{"dup":277}],457:[function(require,module,exports){ /* This file is part of web3.js. @@ -110801,7 +111273,7 @@ module.exports = { }; -},{"./soliditySha3.js":457,"./utils.js":458,"ethjs-unit":275,"randomhex":356,"underscore":398}],457:[function(require,module,exports){ +},{"./soliditySha3.js":458,"./utils.js":459,"ethjs-unit":276,"randomhex":357,"underscore":399}],458:[function(require,module,exports){ /* This file is part of web3.js. @@ -111048,7 +111520,7 @@ var soliditySha3 = function () { module.exports = soliditySha3; -},{"./utils.js":458,"bn.js":455,"underscore":398}],458:[function(require,module,exports){ +},{"./utils.js":459,"bn.js":456,"underscore":399}],459:[function(require,module,exports){ /* This file is part of web3.js. @@ -111517,7 +111989,7 @@ module.exports = { sha3: sha3 }; -},{"bn.js":455,"eth-lib/lib/hash":270,"number-to-bn":320,"underscore":398,"utf8":402}],459:[function(require,module,exports){ +},{"bn.js":456,"eth-lib/lib/hash":271,"number-to-bn":321,"underscore":399,"utf8":403}],460:[function(require,module,exports){ module.exports={ "_from": "web3@1.0.0-beta.34", "_id": "web3@1.0.0-beta.34", @@ -111603,7 +112075,7 @@ module.exports={ "version": "1.0.0-beta.34" } -},{}],460:[function(require,module,exports){ +},{}],461:[function(require,module,exports){ /* This file is part of web3.js. @@ -111684,7 +112156,7 @@ core.addProviders(Web3); module.exports = Web3; -},{"../package.json":459,"web3-bzz":408,"web3-core":421,"web3-eth":449,"web3-eth-personal":447,"web3-net":450,"web3-shh":454,"web3-utils":456}],461:[function(require,module,exports){ +},{"../package.json":460,"web3-bzz":409,"web3-core":422,"web3-eth":450,"web3-eth-personal":448,"web3-net":451,"web3-shh":455,"web3-utils":457}],462:[function(require,module,exports){ var _global = (function() { return this || {}; })(); var NativeWebSocket = _global.WebSocket || _global.MozWebSocket; var websocket_version = require('./version'); @@ -111728,10 +112200,10 @@ module.exports = { 'version' : websocket_version }; -},{"./version":462}],462:[function(require,module,exports){ +},{"./version":463}],463:[function(require,module,exports){ module.exports = require('../package.json').version; -},{"../package.json":463}],463:[function(require,module,exports){ +},{"../package.json":464}],464:[function(require,module,exports){ module.exports={ "_from": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", "_id": "websocket@1.0.26", @@ -111826,7 +112298,7 @@ module.exports={ "version": "1.0.26" } -},{}],464:[function(require,module,exports){ +},{}],465:[function(require,module,exports){ var request = require('xhr-request') module.exports = function (url, options) { @@ -111838,7 +112310,7 @@ module.exports = function (url, options) { }); }; -},{"xhr-request":465}],465:[function(require,module,exports){ +},{"xhr-request":466}],466:[function(require,module,exports){ var queryString = require('query-string') var setQuery = require('url-set-query') var assign = require('object-assign') @@ -111899,7 +112371,7 @@ function xhrRequest (url, opt, cb) { return request(opt, cb) } -},{"./lib/ensure-header.js":466,"./lib/request.js":468,"object-assign":321,"query-string":348,"url-set-query":399}],466:[function(require,module,exports){ +},{"./lib/ensure-header.js":467,"./lib/request.js":469,"object-assign":322,"query-string":349,"url-set-query":400}],467:[function(require,module,exports){ module.exports = ensureHeader function ensureHeader (headers, key, value) { var lower = key.toLowerCase() @@ -111908,7 +112380,7 @@ function ensureHeader (headers, key, value) { } } -},{}],467:[function(require,module,exports){ +},{}],468:[function(require,module,exports){ module.exports = getResponse function getResponse (opt, resp) { if (!resp) return null @@ -111922,7 +112394,7 @@ function getResponse (opt, resp) { } } -},{}],468:[function(require,module,exports){ +},{}],469:[function(require,module,exports){ var xhr = require('xhr') var normalize = require('./normalize-response') var noop = function () {} @@ -111966,7 +112438,7 @@ function xhrRequest (opt, cb) { return req } -},{"./normalize-response":467,"xhr":469}],469:[function(require,module,exports){ +},{"./normalize-response":468,"xhr":470}],470:[function(require,module,exports){ "use strict"; var window = require("global/window") var isFunction = require("is-function") @@ -112215,10 +112687,10 @@ function getXml(xhr) { function noop() {} -},{"global/window":283,"is-function":303,"parse-headers":328,"xtend":471}],470:[function(require,module,exports){ +},{"global/window":284,"is-function":304,"parse-headers":329,"xtend":472}],471:[function(require,module,exports){ module.exports = XMLHttpRequest; -},{}],471:[function(require,module,exports){ +},{}],472:[function(require,module,exports){ module.exports = extend var hasOwnProperty = Object.prototype.hasOwnProperty; diff --git a/ccxt.d.ts b/ccxt.d.ts index e671405d1cf9..80d57a69c469 100644 --- a/ccxt.d.ts +++ b/ccxt.d.ts @@ -297,6 +297,7 @@ declare module 'ccxt' { export class allcoin extends okcoinusd {} export class anxpro extends Exchange {} export class anybits extends bitsane {} + export class bcex extends Exchange {} export class bibox extends Exchange {} export class bigone extends Exchange {} export class binance extends Exchange {} diff --git a/ccxt.js b/ccxt.js index 068f8a5442c3..8025deccf95b 100644 --- a/ccxt.js +++ b/ccxt.js @@ -37,7 +37,7 @@ const Exchange = require ('./js/base/Exchange') //----------------------------------------------------------------------------- // this is updated by vss.js when building -const version = '1.17.56' +const version = '1.17.57' Exchange.ccxtVersion = version @@ -50,6 +50,7 @@ const exchanges = { 'allcoin': require ('./js/allcoin.js'), 'anxpro': require ('./js/anxpro.js'), 'anybits': require ('./js/anybits.js'), + 'bcex': require ('./js/bcex.js'), 'bibox': require ('./js/bibox.js'), 'bigone': require ('./js/bigone.js'), 'binance': require ('./js/binance.js'), diff --git a/doc/README.rst b/doc/README.rst index 6bcf9b06d27c..a48310218992 100644 --- a/doc/README.rst +++ b/doc/README.rst @@ -49,7 +49,7 @@ Certified Cryptocurrency Exchanges Supported Cryptocurrency Exchange Markets ----------------------------------------- -The ccxt library currently supports the following 127 cryptocurrency exchange markets and trading APIs: +The ccxt library currently supports the following 128 cryptocurrency exchange markets and trading APIs: +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | | id | name | certified | ver | doc | countries | @@ -66,6 +66,8 @@ The ccxt library currently supports the following 127 cryptocurrency exchange ma +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |anybits| | anybits | `Anybits `__ | | \* | `API `__ | Ireland | +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ +| |bcex| | bcex | `BCEX `__ | | 1 | `API `__ | China, Canada | ++----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |bibox| | bibox | `Bibox `__ | | 1 | `API `__ | China, US, South Korea | +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |bigone| | bigone | `BigONE `__ | | 2 | `API `__ | UK | @@ -630,6 +632,7 @@ Social .. |allcoin| image:: https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg .. |anxpro| image:: https://user-images.githubusercontent.com/1294454/27765983-fd8595da-5ec9-11e7-82e3-adb3ab8c2612.jpg .. |anybits| image:: https://user-images.githubusercontent.com/1294454/41388454-ae227544-6f94-11e8-82a4-127d51d34903.jpg +.. |bcex| image:: https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg .. |bibox| image:: https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg .. |bigone| image:: https://user-images.githubusercontent.com/1294454/42803606-27c2b5ec-89af-11e8-8d15-9c8c245e8b2c.jpg .. |bit2c| image:: https://user-images.githubusercontent.com/1294454/27766119-3593220e-5ece-11e7-8b3a-5a041f6bcc3f.jpg diff --git a/doc/exchanges-by-country.rst b/doc/exchanges-by-country.rst index 699e951e8529..4118df9325e9 100644 --- a/doc/exchanges-by-country.rst +++ b/doc/exchanges-by-country.rst @@ -40,10 +40,14 @@ The ccxt library currently supports the following cryptocurrency exchange market +--------------------------+----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+ | Canada | |allcoin| | allcoin | `Allcoin `__ | | 1 | `API `__ | +--------------------------+----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+ +| Canada | |bcex| | bcex | `BCEX `__ | | 1 | `API `__ | ++--------------------------+----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+ | Canada | |quadrigacx| | quadrigacx | `QuadrigaCX `__ | | 2 | `API `__ | +--------------------------+----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+ | Chile | |chilebit| | chilebit | `ChileBit `__ | | 1 | `API `__ | +--------------------------+----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+ +| China | |bcex| | bcex | `BCEX `__ | | 1 | `API `__ | ++--------------------------+----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+ | China | |bibox| | bibox | `Bibox `__ | | 1 | `API `__ | +--------------------------+----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+ | China | |bitkk| | bitkk | `bitkk `__ | | 1 | `API `__ | @@ -362,6 +366,7 @@ The ccxt library currently supports the following cryptocurrency exchange market .. |ethfinex| image:: https://user-images.githubusercontent.com/1294454/37555526-7018a77c-29f9-11e8-8835-8e415c038a18.jpg .. |coingi| image:: https://user-images.githubusercontent.com/1294454/28619707-5c9232a8-7212-11e7-86d6-98fe5d15cc6e.jpg .. |allcoin| image:: https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg +.. |bcex| image:: https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg .. |quadrigacx| image:: https://user-images.githubusercontent.com/1294454/27766825-98a6d0de-5ee7-11e7-9fa4-38e11a2c6f52.jpg .. |chilebit| image:: https://user-images.githubusercontent.com/1294454/27991414-1298f0d8-647f-11e7-9c40-d56409266336.jpg .. |bibox| image:: https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg diff --git a/doc/exchanges.rst b/doc/exchanges.rst index ec28970f5493..a3366477d49e 100644 --- a/doc/exchanges.rst +++ b/doc/exchanges.rst @@ -1,7 +1,7 @@ Supported Exchanges =================== -The ccxt library currently supports the following 127 cryptocurrency exchange markets and trading APIs: +The ccxt library currently supports the following 128 cryptocurrency exchange markets and trading APIs: +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | | id | name | certified | ver | doc | countries | @@ -18,6 +18,8 @@ The ccxt library currently supports the following 127 cryptocurrency exchange ma +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |anybits| | anybits | `Anybits `__ | | \* | `API `__ | Ireland | +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ +| |bcex| | bcex | `BCEX `__ | | 1 | `API `__ | China, Canada | ++----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |bibox| | bibox | `Bibox `__ | | 1 | `API `__ | China, US, South Korea | +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |bigone| | bigone | `BigONE `__ | | 2 | `API `__ | UK | @@ -267,6 +269,7 @@ The ccxt library currently supports the following 127 cryptocurrency exchange ma .. |allcoin| image:: https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg .. |anxpro| image:: https://user-images.githubusercontent.com/1294454/27765983-fd8595da-5ec9-11e7-82e3-adb3ab8c2612.jpg .. |anybits| image:: https://user-images.githubusercontent.com/1294454/41388454-ae227544-6f94-11e8-82a4-127d51d34903.jpg +.. |bcex| image:: https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg .. |bibox| image:: https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg .. |bigone| image:: https://user-images.githubusercontent.com/1294454/42803606-27c2b5ec-89af-11e8-8d15-9c8c245e8b2c.jpg .. |binance| image:: https://user-images.githubusercontent.com/1294454/29604020-d5483cdc-87ee-11e7-94c7-d1a8d9169293.jpg diff --git a/doc/manual.rst b/doc/manual.rst index 88780751c213..b03e4d938588 100644 --- a/doc/manual.rst +++ b/doc/manual.rst @@ -55,7 +55,7 @@ Full public and private HTTP REST APIs for all exchanges are implemented. WebSoc Exchanges ========= -The ccxt library currently supports the following 127 cryptocurrency exchange markets and trading APIs: +The ccxt library currently supports the following 128 cryptocurrency exchange markets and trading APIs: +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | | id | name | certified | ver | doc | countries | @@ -72,6 +72,8 @@ The ccxt library currently supports the following 127 cryptocurrency exchange ma +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |anybits| | anybits | `Anybits `__ | | \* | `API `__ | Ireland | +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ +| |bcex| | bcex | `BCEX `__ | | 1 | `API `__ | China, Canada | ++----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |bibox| | bibox | `Bibox `__ | | 1 | `API `__ | China, US, South Korea | +----------------------+--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | |bigone| | bigone | `BigONE `__ | | 2 | `API `__ | UK | @@ -2762,6 +2764,7 @@ Notes .. |allcoin| image:: https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg .. |anxpro| image:: https://user-images.githubusercontent.com/1294454/27765983-fd8595da-5ec9-11e7-82e3-adb3ab8c2612.jpg .. |anybits| image:: https://user-images.githubusercontent.com/1294454/41388454-ae227544-6f94-11e8-82a4-127d51d34903.jpg +.. |bcex| image:: https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg .. |bibox| image:: https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg .. |bigone| image:: https://user-images.githubusercontent.com/1294454/42803606-27c2b5ec-89af-11e8-8d15-9c8c245e8b2c.jpg .. |binance| image:: https://user-images.githubusercontent.com/1294454/29604020-d5483cdc-87ee-11e7-94c7-d1a8d9169293.jpg diff --git a/package.json b/package.json index 277967501c2d..9f677cddf54d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ccxt", - "version": "1.17.56", + "version": "1.17.57", "description": "A JavaScript / Python / PHP cryptocurrency trading library with support for 100+ exchanges", "main": "./ccxt.js", "unpkg": "build/ccxt.browser.js", diff --git a/php/Exchange.php b/php/Exchange.php index 23604d771987..b17384f9dfa5 100644 --- a/php/Exchange.php +++ b/php/Exchange.php @@ -34,7 +34,7 @@ use kornrunner\Secp256k1; use kornrunner\Solidity; -$version = '1.17.56'; +$version = '1.17.57'; // rounding mode const TRUNCATE = 0; @@ -50,7 +50,7 @@ class Exchange { - const VERSION = '1.17.56'; + const VERSION = '1.17.57'; public static $eth_units = array ( 'wei' => '1', @@ -86,6 +86,7 @@ class Exchange { 'allcoin', 'anxpro', 'anybits', + 'bcex', 'bibox', 'bigone', 'binance', diff --git a/python/README.rst b/python/README.rst index 35bc8607eacd..6befd2935fe4 100644 --- a/python/README.rst +++ b/python/README.rst @@ -49,7 +49,7 @@ Certified Cryptocurrency Exchanges Supported Cryptocurrency Exchange Markets ----------------------------------------- -The ccxt library currently supports the following 127 cryptocurrency exchange markets and trading APIs: +The ccxt library currently supports the following 128 cryptocurrency exchange markets and trading APIs: +--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | id | name | certified | ver | doc | countries | @@ -66,6 +66,8 @@ The ccxt library currently supports the following 127 cryptocurrency exchange ma +--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | anybits | `Anybits `__ | | \* | `API `__ | Ireland | +--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ +| bcex | `BCEX `__ | | 1 | `API `__ | China, Canada | ++--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | bibox | `Bibox `__ | | 1 | `API `__ | China, US, South Korea | +--------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------+-----+-----------------------------------------------------------------------------------------------------+------------------------------------------+ | bigone | `BigONE `__ | | 2 | `API `__ | UK | @@ -630,6 +632,7 @@ Social .. |allcoin| image:: https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg .. |anxpro| image:: https://user-images.githubusercontent.com/1294454/27765983-fd8595da-5ec9-11e7-82e3-adb3ab8c2612.jpg .. |anybits| image:: https://user-images.githubusercontent.com/1294454/41388454-ae227544-6f94-11e8-82a4-127d51d34903.jpg +.. |bcex| image:: https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg .. |bibox| image:: https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg .. |bigone| image:: https://user-images.githubusercontent.com/1294454/42803606-27c2b5ec-89af-11e8-8d15-9c8c245e8b2c.jpg .. |bit2c| image:: https://user-images.githubusercontent.com/1294454/27766119-3593220e-5ece-11e7-8b3a-5a041f6bcc3f.jpg diff --git a/python/ccxt/__init__.py b/python/ccxt/__init__.py index 866214cfacdc..fbf34ec98ea3 100644 --- a/python/ccxt/__init__.py +++ b/python/ccxt/__init__.py @@ -22,7 +22,7 @@ # ---------------------------------------------------------------------------- -__version__ = '1.17.56' +__version__ = '1.17.57' # ---------------------------------------------------------------------------- @@ -67,6 +67,7 @@ from ccxt.allcoin import allcoin # noqa: F401 from ccxt.anxpro import anxpro # noqa: F401 from ccxt.anybits import anybits # noqa: F401 +from ccxt.bcex import bcex # noqa: F401 from ccxt.bibox import bibox # noqa: F401 from ccxt.bigone import bigone # noqa: F401 from ccxt.binance import binance # noqa: F401 @@ -196,6 +197,7 @@ 'allcoin', 'anxpro', 'anybits', + 'bcex', 'bibox', 'bigone', 'binance', diff --git a/python/ccxt/async_support/__init__.py b/python/ccxt/async_support/__init__.py index 1702f933a586..bcafc3cbe08e 100644 --- a/python/ccxt/async_support/__init__.py +++ b/python/ccxt/async_support/__init__.py @@ -4,7 +4,7 @@ # ----------------------------------------------------------------------------- -__version__ = '1.17.56' +__version__ = '1.17.57' # ----------------------------------------------------------------------------- @@ -49,6 +49,7 @@ from ccxt.async_support.allcoin import allcoin # noqa: F401 from ccxt.async_support.anxpro import anxpro # noqa: F401 from ccxt.async_support.anybits import anybits # noqa: F401 +from ccxt.async_support.bcex import bcex # noqa: F401 from ccxt.async_support.bibox import bibox # noqa: F401 from ccxt.async_support.bigone import bigone # noqa: F401 from ccxt.async_support.binance import binance # noqa: F401 @@ -178,6 +179,7 @@ 'allcoin', 'anxpro', 'anybits', + 'bcex', 'bibox', 'bigone', 'binance', diff --git a/python/ccxt/async_support/base/exchange.py b/python/ccxt/async_support/base/exchange.py index 7762b3267bed..89ca5bff4258 100644 --- a/python/ccxt/async_support/base/exchange.py +++ b/python/ccxt/async_support/base/exchange.py @@ -2,7 +2,7 @@ # ----------------------------------------------------------------------------- -__version__ = '1.17.56' +__version__ = '1.17.57' # ----------------------------------------------------------------------------- diff --git a/python/ccxt/base/exchange.py b/python/ccxt/base/exchange.py index 825d55df4d62..b09b4bb38bc7 100644 --- a/python/ccxt/base/exchange.py +++ b/python/ccxt/base/exchange.py @@ -4,7 +4,7 @@ # ----------------------------------------------------------------------------- -__version__ = '1.17.56' +__version__ = '1.17.57' # ----------------------------------------------------------------------------- diff --git a/wiki/Exchange-Markets-By-Country.md b/wiki/Exchange-Markets-By-Country.md index 1cdd0ecd651c..e4e8db1ec7e3 100644 --- a/wiki/Exchange-Markets-By-Country.md +++ b/wiki/Exchange-Markets-By-Country.md @@ -21,8 +21,10 @@ The ccxt library currently supports the following cryptocurrency exchange market |British Virgin Islands | ![ethfinex](https://user-images.githubusercontent.com/1294454/37555526-7018a77c-29f9-11e8-8835-8e415c038a18.jpg) | ethfinex | [Ethfinex](https://www.ethfinex.com) | | 1 | [API](https://bitfinex.readme.io/v1/docs) | |Bulgaria | ![coingi](https://user-images.githubusercontent.com/1294454/28619707-5c9232a8-7212-11e7-86d6-98fe5d15cc6e.jpg) | coingi | [Coingi](https://coingi.com) | | * | [API](http://docs.coingi.apiary.io/) | |Canada | ![allcoin](https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg) | allcoin | [Allcoin](https://www.allcoin.com) | | 1 | [API](https://www.allcoin.com/About/APIReference) | +|Canada | ![bcex](https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg) | bcex | [BCEX](https://www.bcex.top/user/reg/type/2/pid/758978) | | 1 | [API](https://www.bcex.top/api_market/market/) | |Canada | ![quadrigacx](https://user-images.githubusercontent.com/1294454/27766825-98a6d0de-5ee7-11e7-9fa4-38e11a2c6f52.jpg) | quadrigacx | [QuadrigaCX](https://www.quadrigacx.com) | | 2 | [API](https://www.quadrigacx.com/api_info) | |Chile | ![chilebit](https://user-images.githubusercontent.com/1294454/27991414-1298f0d8-647f-11e7-9c40-d56409266336.jpg) | chilebit | [ChileBit](https://chilebit.net) | | 1 | [API](https://blinktrade.com/docs) | +|China | ![bcex](https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg) | bcex | [BCEX](https://www.bcex.top/user/reg/type/2/pid/758978) | | 1 | [API](https://www.bcex.top/api_market/market/) | |China | ![bibox](https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg) | bibox | [Bibox](https://www.bibox.com) | | 1 | [API](https://github.com/Biboxcom/api_reference/wiki/home_en) | |China | ![bitkk](https://user-images.githubusercontent.com/1294454/32859187-cd5214f0-ca5e-11e7-967d-96568e2e2bd1.jpg) | bitkk | [bitkk](https://vip.zb.com/user/register?recommendCode=bn070u) | | 1 | [API](https://www.bitkk.com/i/developer) | |China | ![btcchina](https://user-images.githubusercontent.com/1294454/27766368-465b3286-5ed6-11e7-9a11-0f6467e1d82b.jpg) | btcchina | [BTCChina](https://www.btcchina.com) | | 1 | [API](https://www.btcchina.com/apidocs) | diff --git a/wiki/Exchange-Markets.md b/wiki/Exchange-Markets.md index 29dab1793cba..75e8ace07aa2 100644 --- a/wiki/Exchange-Markets.md +++ b/wiki/Exchange-Markets.md @@ -1,6 +1,6 @@ # Supported Exchanges -The ccxt library currently supports the following 127 cryptocurrency exchange markets and trading APIs: +The ccxt library currently supports the following 128 cryptocurrency exchange markets and trading APIs: | | id | name | certified | ver | doc | countries | |---------------------------------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------:|:---:|--------------------------------------------------------------------------------------------------|-----------------------------------------| @@ -10,6 +10,7 @@ The ccxt library currently supports the following 127 cryptocurrency exchange ma |![allcoin](https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg) | allcoin | [Allcoin](https://www.allcoin.com) | | 1 | [API](https://www.allcoin.com/About/APIReference) | Canada | |![anxpro](https://user-images.githubusercontent.com/1294454/27765983-fd8595da-5ec9-11e7-82e3-adb3ab8c2612.jpg) | anxpro | [ANXPro](https://anxpro.com) | | 2 | [API](http://docs.anxv2.apiary.io) | Japan, Singapore, Hong Kong, New Zealand| |![anybits](https://user-images.githubusercontent.com/1294454/41388454-ae227544-6f94-11e8-82a4-127d51d34903.jpg) | anybits | [Anybits](https://anybits.com) | | * | [API](https://anybits.com/help/api) | Ireland | +|![bcex](https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg) | bcex | [BCEX](https://www.bcex.top/user/reg/type/2/pid/758978) | | 1 | [API](https://www.bcex.top/api_market/market/) | China, Canada | |![bibox](https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg) | bibox | [Bibox](https://www.bibox.com) | | 1 | [API](https://github.com/Biboxcom/api_reference/wiki/home_en) | China, US, South Korea | |![bigone](https://user-images.githubusercontent.com/1294454/42803606-27c2b5ec-89af-11e8-8d15-9c8c245e8b2c.jpg) | bigone | [BigONE](https://b1.run/users/new?code=D3LLBVFT) | | 2 | [API](https://open.big.one/docs/api.html) | UK | |![binance](https://user-images.githubusercontent.com/1294454/29604020-d5483cdc-87ee-11e7-94c7-d1a8d9169293.jpg) | binance | [Binance](https://www.binance.com/?ref=10205187) | [![CCXT Certified](https://img.shields.io/badge/CCXT-certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | * | [API](https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md) | Japan | diff --git a/wiki/Manual.md b/wiki/Manual.md index db62aba8c3d2..5479f68ad31c 100644 --- a/wiki/Manual.md +++ b/wiki/Manual.md @@ -53,7 +53,7 @@ Full public and private HTTP REST APIs for all exchanges are implemented. WebSoc # Exchanges -The ccxt library currently supports the following 127 cryptocurrency exchange markets and trading APIs: +The ccxt library currently supports the following 128 cryptocurrency exchange markets and trading APIs: | | id | name | certified | ver | doc | countries | |---------------------------------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------:|:---:|--------------------------------------------------------------------------------------------------|-----------------------------------------| @@ -63,6 +63,7 @@ The ccxt library currently supports the following 127 cryptocurrency exchange ma |![allcoin](https://user-images.githubusercontent.com/1294454/31561809-c316b37c-b061-11e7-8d5a-b547b4d730eb.jpg) | allcoin | [Allcoin](https://www.allcoin.com) | | 1 | [API](https://www.allcoin.com/About/APIReference) | Canada | |![anxpro](https://user-images.githubusercontent.com/1294454/27765983-fd8595da-5ec9-11e7-82e3-adb3ab8c2612.jpg) | anxpro | [ANXPro](https://anxpro.com) | | 2 | [API](http://docs.anxv2.apiary.io) | Japan, Singapore, Hong Kong, New Zealand| |![anybits](https://user-images.githubusercontent.com/1294454/41388454-ae227544-6f94-11e8-82a4-127d51d34903.jpg) | anybits | [Anybits](https://anybits.com) | | * | [API](https://anybits.com/help/api) | Ireland | +|![bcex](https://user-images.githubusercontent.com/1294454/43362240-21c26622-92ee-11e8-9464-5801ec526d77.jpg) | bcex | [BCEX](https://www.bcex.top/user/reg/type/2/pid/758978) | | 1 | [API](https://www.bcex.top/api_market/market/) | China, Canada | |![bibox](https://user-images.githubusercontent.com/1294454/34902611-2be8bf1a-f830-11e7-91a2-11b2f292e750.jpg) | bibox | [Bibox](https://www.bibox.com) | | 1 | [API](https://github.com/Biboxcom/api_reference/wiki/home_en) | China, US, South Korea | |![bigone](https://user-images.githubusercontent.com/1294454/42803606-27c2b5ec-89af-11e8-8d15-9c8c245e8b2c.jpg) | bigone | [BigONE](https://b1.run/users/new?code=D3LLBVFT) | | 2 | [API](https://open.big.one/docs/api.html) | UK | |![binance](https://user-images.githubusercontent.com/1294454/29604020-d5483cdc-87ee-11e7-94c7-d1a8d9169293.jpg) | binance | [Binance](https://www.binance.com/?ref=10205187) | [![CCXT Certified](https://img.shields.io/badge/CCXT-certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | * | [API](https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md) | Japan |