diff --git a/web/yaamp/core/backend/markets.php b/web/yaamp/core/backend/markets.php index 7541bce..5156a5e 100644 --- a/web/yaamp/core/backend/markets.php +++ b/web/yaamp/core/backend/markets.php @@ -14,6 +14,7 @@ function BackendPricesUpdate() updatePoloniexMarkets(); updateBleutradeMarkets(); updateCryptoBridgeMarkets(); + updateGateioMarkets(); updateGraviexMarkets(); updateKrakenMarkets(); updateKuCoinMarkets(); @@ -333,6 +334,53 @@ function updateCryptoBridgeMarkets($force = false) ///////////////////////////////////////////////////////////////////////////////////////////// +function updateGateioMarkets($force = false) +{ + $exchange = 'gateio'; + if (exchange_get($exchange, 'disabled')) return; + + $list = getdbolist('db_markets', "name LIKE '$exchange%'"); + if (empty($list)) return; + + $markets = gateio_api_query('tickers'); + if(!is_array($markets)) return; + + foreach($list as $market) + { + $coin = getdbo('db_coins', $market->coinid); + if(!$coin) continue; + + $symbol = $coin->getOfficialSymbol(); + if (market_get($exchange, $symbol, "disabled")) { + $market->disabled = 1; + $market->message = 'disabled from settings'; + $market->save(); + continue; + } + + $dbpair = strtolower($symbol).'_btc'; + foreach ($markets as $pair => $ticker) { + if ($pair != $dbpair) continue; + $price2 = (doubleval($ticker['highestBid']) + doubleval($ticker['lowestAsk'])) / 2; + $market->price = AverageIncrement($market->price, doubleval($ticker['highestBid'])); + $market->price2 = AverageIncrement($market->price2, $price2); + $market->pricetime = time(); + $market->priority = -1; + $market->txfee = 0.2; // trade pct + $market->save(); + + if (empty($coin->price2)) { + $coin->price = $market->price; + $coin->price2 = $market->price2; + $coin->market = $exchange; + $coin->save(); + } + } + } +} + +///////////////////////////////////////////////////////////////////////////////////////////// + function updateGraviexMarkets($force = false) { $exchange = 'graviex'; diff --git a/web/yaamp/core/backend/rawcoins.php b/web/yaamp/core/backend/rawcoins.php index c4539af..8d38269 100644 --- a/web/yaamp/core/backend/rawcoins.php +++ b/web/yaamp/core/backend/rawcoins.php @@ -13,6 +13,7 @@ function updateRawcoins() exchange_set_default('empoex', 'disabled', true); exchange_set_default('coinexchange', 'disabled', true); exchange_set_default('coinsmarkets', 'disabled', true); + exchange_set_default('gateio', 'disabled', true); exchange_set_default('jubi', 'disabled', true); exchange_set_default('nova', 'disabled', true); exchange_set_default('stocksexchange', 'disabled', true); @@ -236,6 +237,22 @@ function updateRawcoins() } } + if (!exchange_get('gateio', 'disabled')) { + $json = gateio_api_query('marketlist'); + $list = arraySafeVal($json,'data'); + if(!empty($list)) + { + dborun("UPDATE markets SET deleted=true WHERE name='gateio'"); + foreach($list as $item) { + if ($item['curr_b'] != 'BTC') + continue; + $symbol = trim(strtoupper($item['symbol'])); + $name = trim($item['name']); + updateRawCoin('gateio', $symbol, $name); + } + } + } + if (!exchange_get('nova', 'disabled')) { $list = nova_api_query('markets'); if(is_object($list) && !empty($list->markets)) diff --git a/web/yaamp/core/exchange/exchange.php b/web/yaamp/core/exchange/exchange.php index 6dd88c5..5bafc90 100644 --- a/web/yaamp/core/exchange/exchange.php +++ b/web/yaamp/core/exchange/exchange.php @@ -19,6 +19,7 @@ require_once("bleutrade.php"); require_once("ccexapi.php"); require_once("cexio.php"); require_once("cryptobridge.php"); +require_once("gateio.php"); require_once("graviex.php"); require_once("cryptohub.php"); require_once("kraken.php"); @@ -105,6 +106,8 @@ function getMarketUrl($coin, $marketName) $url = "https://c-cex.com/?p={$lowsymbol}-{$lowbase}"; else if($market == 'empoex') $url = "http://www.empoex.com/trade/{$symbol}-{$base}"; + else if($market == 'gateio') + $url = "https://gate.io/trade/{$symbol}_{$base}"; else if($market == 'graviex') $url = "https://graviex.net/markets/{$lowsymbol}{$lowbase}"; else if($market == 'jubi') diff --git a/web/yaamp/core/exchange/gateio.php b/web/yaamp/core/exchange/gateio.php new file mode 100644 index 0000000..21b6cbb --- /dev/null +++ b/web/yaamp/core/exchange/gateio.php @@ -0,0 +1,24 @@ +