diff --git a/web/yaamp/core/backend/markets.php b/web/yaamp/core/backend/markets.php index b8d7b8b..2a8c202 100644 --- a/web/yaamp/core/backend/markets.php +++ b/web/yaamp/core/backend/markets.php @@ -20,6 +20,7 @@ function BackendPricesUpdate() updateKrakenMarkets(); updateKuCoinMarkets(); updateCCexMarkets(); + updateCoinbeneMarkets(); updateCrex24Markets(); updateCryptopiaMarkets(); updateHitBTCMarkets(); @@ -982,6 +983,46 @@ function updateAlcurexMarkets() } } +function updateCoinbeneMarkets() +{ + $exchange = 'coinbene'; + if (exchange_get($exchange, 'disabled')) return; + + $list = getdbolist('db_markets', "name LIKE '$exchange%'"); + if (empty($list)) return; + + $data = coinbene_api_query('market/ticker', 'symbol=all'); + $data = objSafeVal($data,'ticker'); + if(!is_array($data)) return; + + foreach($list as $market) { + $coin = getdbo('db_coins', $market->coinid); + if(!$coin) continue; + if(!$coin->installed && !$coin->watch) continue; + + $symbol = $coin->getOfficialSymbol(); + if (market_get($exchange, $symbol, "disabled")) { + $market->disabled = 1; + $market->message = 'disabled from settings'; + $market->save(); + continue; + } + + $pair = $symbol.'BTC'; + foreach($data as $ticker) { + if ($ticker->symbol != $pair) continue; + + $price2 = ($ticker->bid+$ticker->ask)/2; + $market->price2 = AverageIncrement($market->price2, $price2); + $market->price = AverageIncrement($market->price, $ticker->bid); + $market->pricetime = time(); + $market->save(); + + break; + } + } +} + function updateCrex24Markets() { $exchange = 'crex24'; diff --git a/web/yaamp/core/backend/rawcoins.php b/web/yaamp/core/backend/rawcoins.php index 2515a40..7db705c 100644 --- a/web/yaamp/core/backend/rawcoins.php +++ b/web/yaamp/core/backend/rawcoins.php @@ -11,6 +11,7 @@ function updateRawcoins() exchange_set_default('binance', 'disabled', true); exchange_set_default('bter', 'disabled', true); exchange_set_default('empoex', 'disabled', true); + exchange_set_default('coinbene', 'disabled', true); exchange_set_default('coinexchange', 'disabled', true); exchange_set_default('coinsmarkets', 'disabled', true); exchange_set_default('gateio', 'disabled', true); @@ -65,6 +66,19 @@ function updateRawcoins() } } + if (!exchange_get('coinbene', 'disabled')) { + $data = coinbene_api_query('market/symbol'); + $list = objSafeVal($data, 'symbol'); + if(is_array($list) && !empty($list)) { + dborun("UPDATE markets SET deleted=true WHERE name='coinbene'"); + foreach($list as $ticker) { + if ($ticker->quoteAsset != 'BTC') continue; + $symbol = $ticker->baseAsset; + updateRawCoin('coinbene', $symbol); + } + } + } + if (!exchange_get('crex24', 'disabled')) { $list = crex24_api_query('currencies'); if(is_array($list) && !empty($list)) { @@ -450,7 +464,7 @@ function updateRawCoin($marketname, $symbol, $name='unknown') } // some other to ignore... - if (in_array($marketname, array('crex24','yobit','kucoin','tradesatoshi'))) + if (in_array($marketname, array('crex24','yobit','coinbene','kucoin','tradesatoshi'))) return; if (market_get($marketname, $symbol, "disabled")) { diff --git a/web/yaamp/core/exchange/coinbene.php b/web/yaamp/core/exchange/coinbene.php new file mode 100644 index 0000000..0cc8f76 --- /dev/null +++ b/web/yaamp/core/exchange/coinbene.php @@ -0,0 +1,21 @@ +