From 0886504538b5ce1d3319513ea6a699f49a34e6be Mon Sep 17 00:00:00 2001 From: Diego <42118791+mmdiego@users.noreply.github.com> Date: Thu, 3 Oct 2019 02:27:12 -0300 Subject: [PATCH] Remove trailing zeros from gdax products.json file (#1928) (#1950) Also sorts the products' list alphabetically. --- extensions/exchanges/gdax/products.json | 656 +++++++++---------- extensions/exchanges/gdax/update-products.sh | 28 +- 2 files changed, 351 insertions(+), 333 deletions(-) diff --git a/extensions/exchanges/gdax/products.json b/extensions/exchanges/gdax/products.json index 3ee20a1674..d062a73bb8 100644 --- a/extensions/exchanges/gdax/products.json +++ b/extensions/exchanges/gdax/products.json @@ -1,479 +1,479 @@ [ - { - "asset": "ETH", - "currency": "GBP", - "min_size": "0.01000000", - "max_size": "1400.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "ETH/GBP" - }, { "asset": "ALGO", "currency": "USD", - "min_size": "1.00000000", - "max_size": "500000.00000000", - "increment": "0.00010000", - "asset_increment": "1.00000000", + "min_size": "1", + "max_size": "500000", + "increment": "0.0001", + "asset_increment": "1", "label": "ALGO/USD" }, - { - "asset": "BTC", - "currency": "USDC", - "min_size": "0.00100000", - "max_size": "280.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "BTC/USDC" - }, - { - "asset": "ETC", - "currency": "EUR", - "min_size": "0.10000000", - "max_size": "20000.00000000", - "increment": "0.00100000", - "asset_increment": "0.00000001", - "label": "ETC/EUR" - }, { "asset": "BAT", "currency": "ETH", - "min_size": "1.00000000", - "max_size": "300000.00000000", + "min_size": "1", + "max_size": "300000", "increment": "0.00000001", - "asset_increment": "1.00000000", + "asset_increment": "1", "label": "BAT/ETH" }, { - "asset": "ETC", - "currency": "GBP", - "min_size": "0.10000000", - "max_size": "20000.00000000", - "increment": "0.00100000", + "asset": "BAT", + "currency": "USDC", + "min_size": "1", + "max_size": "800000", + "increment": "0.000001", + "asset_increment": "1", + "label": "BAT/USDC" + }, + { + "asset": "BCH", + "currency": "BTC", + "min_size": "0.01", + "max_size": "400", + "increment": "0.00001", "asset_increment": "0.00000001", - "label": "ETC/GBP" + "label": "BCH/BTC" }, { - "asset": "ETH", - "currency": "DAI", - "min_size": "0.01000000", - "max_size": "700.00000000", - "increment": "0.01000000", - "asset_increment": "0.00010000", - "label": "ETH/DAI" + "asset": "BCH", + "currency": "EUR", + "min_size": "0.01", + "max_size": "100", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "BCH/EUR" }, { - "asset": "GNT", - "currency": "USDC", - "min_size": "1.00000000", - "max_size": "1500000.00000000", - "increment": "0.00000100", - "asset_increment": "1.00000000", - "label": "GNT/USDC" + "asset": "BCH", + "currency": "GBP", + "min_size": "0.01", + "max_size": "250", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "BCH/GBP" }, { - "asset": "XTZ", + "asset": "BCH", "currency": "USD", - "min_size": "1.00000000", - "max_size": "100000.00000000", - "increment": "0.00010000", - "asset_increment": "0.01000000", - "label": "XTZ/USD" + "min_size": "0.01", + "max_size": "700", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "BCH/USD" }, { - "asset": "LTC", - "currency": "GBP", - "min_size": "0.10000000", - "max_size": "1000.00000000", - "increment": "0.01000000", + "asset": "BTC", + "currency": "EUR", + "min_size": "0.001", + "max_size": "200", + "increment": "0.01", "asset_increment": "0.00000001", - "label": "LTC/GBP" + "label": "BTC/EUR" }, { - "asset": "DAI", - "currency": "USDC", - "min_size": "1.00000000", - "max_size": "100000.00000000", - "increment": "0.00000100", - "asset_increment": "0.00001000", - "label": "DAI/USDC" + "asset": "BTC", + "currency": "GBP", + "min_size": "0.001", + "max_size": "80", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "BTC/GBP" }, { - "asset": "REP", - "currency": "BTC", - "min_size": "0.10000000", - "max_size": "5000.00000000", - "increment": "0.00000100", - "asset_increment": "0.00000100", - "label": "REP/BTC" + "asset": "BTC", + "currency": "USD", + "min_size": "0.001", + "max_size": "280", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "BTC/USD" }, { - "asset": "ETH", + "asset": "BTC", "currency": "USDC", - "min_size": "0.01000000", - "max_size": "2800.00000000", - "increment": "0.01000000", + "min_size": "0.001", + "max_size": "280", + "increment": "0.01", "asset_increment": "0.00000001", - "label": "ETH/USDC" - }, - { - "asset": "ZRX", - "currency": "BTC", - "min_size": "1.00000000", - "max_size": "600000.00000000", - "increment": "0.00000001", - "asset_increment": "0.00001000", - "label": "ZRX/BTC" + "label": "BTC/USDC" }, { "asset": "CVC", "currency": "USDC", - "min_size": "1.00000000", - "max_size": "2000000.00000000", - "increment": "0.00000100", - "asset_increment": "1.00000000", + "min_size": "1", + "max_size": "2000000", + "increment": "0.000001", + "asset_increment": "1", "label": "CVC/USDC" }, { - "asset": "BCH", - "currency": "GBP", - "min_size": "0.01000000", - "max_size": "250.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "BCH/GBP" + "asset": "DAI", + "currency": "USDC", + "min_size": "1", + "max_size": "100000", + "increment": "0.000001", + "asset_increment": "0.00001", + "label": "DAI/USDC" }, { - "asset": "BCH", + "asset": "DASH", + "currency": "BTC", + "min_size": "0.01", + "max_size": "1500", + "increment": "0.00000001", + "asset_increment": "0.001", + "label": "DASH/BTC" + }, + { + "asset": "DASH", "currency": "USD", - "min_size": "0.01000000", - "max_size": "700.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "BCH/USD" + "min_size": "0.01", + "max_size": "1500", + "increment": "0.001", + "asset_increment": "0.001", + "label": "DASH/USD" }, { "asset": "DNT", "currency": "USDC", - "min_size": "1.00000000", - "max_size": "10000000.00000000", - "increment": "0.00000100", - "asset_increment": "1.00000000", + "min_size": "1", + "max_size": "10000000", + "increment": "0.000001", + "asset_increment": "1", "label": "DNT/USDC" }, { - "asset": "ZRX", - "currency": "EUR", - "min_size": "1.00000000", - "max_size": "600000.00000000", - "increment": "0.00000100", - "asset_increment": "0.00001000", - "label": "ZRX/EUR" + "asset": "EOS", + "currency": "BTC", + "min_size": "0.1", + "max_size": "5000", + "increment": "0.000001", + "asset_increment": "0.1", + "label": "EOS/BTC" }, { - "asset": "LOOM", - "currency": "USDC", - "min_size": "1.00000000", - "max_size": "2500000.00000000", - "increment": "0.00000100", - "asset_increment": "1.00000000", - "label": "LOOM/USDC" + "asset": "EOS", + "currency": "EUR", + "min_size": "0.1", + "max_size": "5000", + "increment": "0.001", + "asset_increment": "0.1", + "label": "EOS/EUR" }, { - "asset": "BTC", + "asset": "EOS", "currency": "USD", - "min_size": "0.00100000", - "max_size": "280.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "BTC/USD" + "min_size": "0.1", + "max_size": "5000", + "increment": "0.001", + "asset_increment": "0.1", + "label": "EOS/USD" }, { - "asset": "XLM", - "currency": "USD", - "min_size": "1.00000000", - "max_size": "600000.00000000", - "increment": "0.00000100", - "asset_increment": "1.00000000", - "label": "XLM/USD" + "asset": "ETC", + "currency": "BTC", + "min_size": "0.1", + "max_size": "5000", + "increment": "0.000001", + "asset_increment": "0.00000001", + "label": "ETC/BTC" }, { - "asset": "ETH", + "asset": "ETC", "currency": "EUR", - "min_size": "0.01000000", - "max_size": "1600.00000000", - "increment": "0.01000000", + "min_size": "0.1", + "max_size": "20000", + "increment": "0.001", "asset_increment": "0.00000001", - "label": "ETH/EUR" + "label": "ETC/EUR" }, { "asset": "ETC", - "currency": "BTC", - "min_size": "0.10000000", - "max_size": "5000.00000000", - "increment": "0.00000100", + "currency": "GBP", + "min_size": "0.1", + "max_size": "20000", + "increment": "0.001", "asset_increment": "0.00000001", - "label": "ETC/BTC" + "label": "ETC/GBP" }, { - "asset": "DASH", - "currency": "BTC", - "min_size": "0.01000000", - "max_size": "1500.00000000", - "increment": "0.00000001", - "asset_increment": "0.00100000", - "label": "DASH/BTC" + "asset": "ETC", + "currency": "USD", + "min_size": "0.1", + "max_size": "20000", + "increment": "0.001", + "asset_increment": "0.00000001", + "label": "ETC/USD" }, { - "asset": "XLM", + "asset": "ETH", "currency": "BTC", - "min_size": "1.00000000", - "max_size": "600000.00000000", - "increment": "0.00000001", - "asset_increment": "1.00000000", - "label": "XLM/BTC" + "min_size": "0.01", + "max_size": "2400", + "increment": "0.00001", + "asset_increment": "0.00000001", + "label": "ETH/BTC" }, { - "asset": "BAT", - "currency": "USDC", - "min_size": "1.00000000", - "max_size": "800000.00000000", - "increment": "0.00000100", - "asset_increment": "1.00000000", - "label": "BAT/USDC" + "asset": "ETH", + "currency": "DAI", + "min_size": "0.01", + "max_size": "700", + "increment": "0.01", + "asset_increment": "0.0001", + "label": "ETH/DAI" }, { - "asset": "REP", - "currency": "USD", - "min_size": "0.10000000", - "max_size": "5000.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000100", - "label": "REP/USD" + "asset": "ETH", + "currency": "EUR", + "min_size": "0.01", + "max_size": "1600", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "ETH/EUR" }, { - "asset": "BCH", - "currency": "BTC", - "min_size": "0.01000000", - "max_size": "400.00000000", - "increment": "0.00001000", + "asset": "ETH", + "currency": "GBP", + "min_size": "0.01", + "max_size": "1400", + "increment": "0.01", "asset_increment": "0.00000001", - "label": "BCH/BTC" + "label": "ETH/GBP" }, { - "asset": "BTC", - "currency": "GBP", - "min_size": "0.00100000", - "max_size": "80.00000000", - "increment": "0.01000000", + "asset": "ETH", + "currency": "USD", + "min_size": "0.01", + "max_size": "2800", + "increment": "0.01", "asset_increment": "0.00000001", - "label": "BTC/GBP" + "label": "ETH/USD" }, { - "asset": "LTC", - "currency": "EUR", - "min_size": "0.10000000", - "max_size": "1000.00000000", - "increment": "0.01000000", + "asset": "ETH", + "currency": "USDC", + "min_size": "0.01", + "max_size": "2800", + "increment": "0.01", "asset_increment": "0.00000001", - "label": "LTC/EUR" + "label": "ETH/USDC" }, { - "asset": "EOS", - "currency": "EUR", - "min_size": "0.10000000", - "max_size": "5000.00000000", - "increment": "0.00100000", - "asset_increment": "0.10000000", - "label": "EOS/EUR" + "asset": "GNT", + "currency": "USDC", + "min_size": "1", + "max_size": "1500000", + "increment": "0.000001", + "asset_increment": "1", + "label": "GNT/USDC" }, { - "asset": "XRP", - "currency": "BTC", - "min_size": "1.00000000", - "max_size": "500000.00000000", + "asset": "LINK", + "currency": "ETH", + "min_size": "1", + "max_size": "90000", "increment": "0.00000001", - "asset_increment": "1.00000000", - "label": "XRP/BTC" + "asset_increment": "0.01", + "label": "LINK/ETH" }, { - "asset": "BTC", - "currency": "EUR", - "min_size": "0.00100000", - "max_size": "200.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "BTC/EUR" + "asset": "LINK", + "currency": "USD", + "min_size": "1", + "max_size": "90000", + "increment": "0.00001", + "asset_increment": "0.01", + "label": "LINK/USD" + }, + { + "asset": "LOOM", + "currency": "USDC", + "min_size": "1", + "max_size": "2500000", + "increment": "0.000001", + "asset_increment": "1", + "label": "LOOM/USDC" }, { "asset": "LTC", "currency": "BTC", - "min_size": "0.10000000", - "max_size": "8000.00000000", - "increment": "0.00000100", + "min_size": "0.1", + "max_size": "8000", + "increment": "0.000001", "asset_increment": "0.00000001", "label": "LTC/BTC" }, + { + "asset": "LTC", + "currency": "EUR", + "min_size": "0.1", + "max_size": "1000", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "LTC/EUR" + }, + { + "asset": "LTC", + "currency": "GBP", + "min_size": "0.1", + "max_size": "1000", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "LTC/GBP" + }, { "asset": "LTC", "currency": "USD", - "min_size": "0.10000000", - "max_size": "4000.00000000", - "increment": "0.01000000", + "min_size": "0.1", + "max_size": "4000", + "increment": "0.01", "asset_increment": "0.00000001", "label": "LTC/USD" }, { "asset": "MANA", "currency": "USDC", - "min_size": "1.00000000", - "max_size": "2800000.00000000", - "increment": "0.00000100", - "asset_increment": "1.00000000", + "min_size": "1", + "max_size": "2800000", + "increment": "0.000001", + "asset_increment": "1", "label": "MANA/USDC" }, { - "asset": "EOS", + "asset": "REP", "currency": "BTC", - "min_size": "0.10000000", - "max_size": "5000.00000000", - "increment": "0.00000100", - "asset_increment": "0.10000000", - "label": "EOS/BTC" + "min_size": "0.1", + "max_size": "5000", + "increment": "0.000001", + "asset_increment": "0.000001", + "label": "REP/BTC" }, { - "asset": "ZRX", + "asset": "REP", "currency": "USD", - "min_size": "1.00000000", - "max_size": "600000.00000000", - "increment": "0.00000100", - "asset_increment": "0.00001000", - "label": "ZRX/USD" - }, - { - "asset": "LINK", - "currency": "ETH", - "min_size": "1.00000000", - "max_size": "90000.00000000", - "increment": "0.00000001", - "asset_increment": "0.01000000", - "label": "LINK/ETH" + "min_size": "0.1", + "max_size": "5000", + "increment": "0.01", + "asset_increment": "0.000001", + "label": "REP/USD" }, { - "asset": "ETH", + "asset": "XLM", "currency": "BTC", - "min_size": "0.01000000", - "max_size": "2400.00000000", - "increment": "0.00001000", - "asset_increment": "0.00000001", - "label": "ETH/BTC" - }, - { - "asset": "BCH", - "currency": "EUR", - "min_size": "0.01000000", - "max_size": "100.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "BCH/EUR" + "min_size": "1", + "max_size": "600000", + "increment": "0.00000001", + "asset_increment": "1", + "label": "XLM/BTC" }, { "asset": "XLM", "currency": "EUR", - "min_size": "1.00000000", - "max_size": "600000.00000000", - "increment": "0.00000100", - "asset_increment": "1.00000000", + "min_size": "1", + "max_size": "600000", + "increment": "0.000001", + "asset_increment": "1", "label": "XLM/EUR" }, { - "asset": "ZEC", - "currency": "USDC", - "min_size": "0.01000000", - "max_size": "5000.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "ZEC/USDC" - }, - { - "asset": "ETC", + "asset": "XLM", "currency": "USD", - "min_size": "0.10000000", - "max_size": "20000.00000000", - "increment": "0.00100000", - "asset_increment": "0.00000001", - "label": "ETC/USD" + "min_size": "1", + "max_size": "600000", + "increment": "0.000001", + "asset_increment": "1", + "label": "XLM/USD" }, { - "asset": "DASH", - "currency": "USD", - "min_size": "0.01000000", - "max_size": "1500.00000000", - "increment": "0.00100000", - "asset_increment": "0.00100000", - "label": "DASH/USD" + "asset": "XRP", + "currency": "BTC", + "min_size": "1", + "max_size": "500000", + "increment": "0.00000001", + "asset_increment": "1", + "label": "XRP/BTC" }, { "asset": "XRP", - "currency": "USD", - "min_size": "1.00000000", - "max_size": "500000.00000000", - "increment": "0.00010000", - "asset_increment": "1.00000000", - "label": "XRP/USD" + "currency": "EUR", + "min_size": "1", + "max_size": "500000", + "increment": "0.0001", + "asset_increment": "1", + "label": "XRP/EUR" }, { - "asset": "ETH", + "asset": "XRP", "currency": "USD", - "min_size": "0.01000000", - "max_size": "2800.00000000", - "increment": "0.01000000", - "asset_increment": "0.00000001", - "label": "ETH/USD" + "min_size": "1", + "max_size": "500000", + "increment": "0.0001", + "asset_increment": "1", + "label": "XRP/USD" }, { "asset": "XTZ", "currency": "BTC", - "min_size": "1.00000000", - "max_size": "100000.00000000", + "min_size": "1", + "max_size": "100000", "increment": "0.00000001", - "asset_increment": "0.01000000", + "asset_increment": "0.01", "label": "XTZ/BTC" }, + { + "asset": "XTZ", + "currency": "USD", + "min_size": "1", + "max_size": "100000", + "increment": "0.0001", + "asset_increment": "0.01", + "label": "XTZ/USD" + }, { "asset": "ZEC", "currency": "BTC", - "min_size": "0.01000000", - "max_size": "1500.00000000", - "increment": "0.00000100", - "asset_increment": "0.00010000", + "min_size": "0.01", + "max_size": "1500", + "increment": "0.000001", + "asset_increment": "0.0001", "label": "ZEC/BTC" }, { - "asset": "LINK", - "currency": "USD", - "min_size": "1.00000000", - "max_size": "90000.00000000", - "increment": "0.00001000", - "asset_increment": "0.01000000", - "label": "LINK/USD" + "asset": "ZEC", + "currency": "USDC", + "min_size": "0.01", + "max_size": "5000", + "increment": "0.01", + "asset_increment": "0.00000001", + "label": "ZEC/USDC" }, { - "asset": "EOS", - "currency": "USD", - "min_size": "0.10000000", - "max_size": "5000.00000000", - "increment": "0.00100000", - "asset_increment": "0.10000000", - "label": "EOS/USD" + "asset": "ZRX", + "currency": "BTC", + "min_size": "1", + "max_size": "600000", + "increment": "0.00000001", + "asset_increment": "0.00001", + "label": "ZRX/BTC" }, { - "asset": "XRP", + "asset": "ZRX", "currency": "EUR", - "min_size": "1.00000000", - "max_size": "500000.00000000", - "increment": "0.00010000", - "asset_increment": "1.00000000", - "label": "XRP/EUR" + "min_size": "1", + "max_size": "600000", + "increment": "0.000001", + "asset_increment": "0.00001", + "label": "ZRX/EUR" + }, + { + "asset": "ZRX", + "currency": "USD", + "min_size": "1", + "max_size": "600000", + "increment": "0.000001", + "asset_increment": "0.00001", + "label": "ZRX/USD" } ] \ No newline at end of file diff --git a/extensions/exchanges/gdax/update-products.sh b/extensions/exchanges/gdax/update-products.sh index 59e1e9d0e7..e36fd70aa7 100755 --- a/extensions/exchanges/gdax/update-products.sh +++ b/extensions/exchanges/gdax/update-products.sh @@ -1,6 +1,6 @@ #!/usr/bin/env node var request = require('micro-request') -request('https://api.gdax.com/products', {headers: {'User-Agent': 'zenbot/4'}}, function (err, resp, body) { +request('https://api.pro.coinbase.com/products', {headers: {'User-Agent': 'zenbot/4'}}, function (err, resp, body) { if (err) throw err if (resp.statusCode !== 200) { var err = new Error('non-200 status: ' + resp.statusCode) @@ -11,16 +11,34 @@ request('https://api.gdax.com/products', {headers: {'User-Agent': 'zenbot/4'}}, } var products = [] body.forEach(function (product) { + let regex = /\.0*$|(\.\d*[1-9])0+$/ products.push({ asset: product.base_currency, currency: product.quote_currency, - min_size: product.base_min_size, - max_size: product.base_max_size, - increment: product.quote_increment, - asset_increment: product.base_increment, + //min_size: product.base_min_size, + //max_size: product.base_max_size, + //increment: product.quote_increment, + //asset_increment: product.base_increment, + min_size: Number(product.base_min_size).toFixed(10).replace(regex,'$1'), + max_size: Number(product.base_max_size).toFixed(10).replace(regex,'$1'), + increment: Number(product.quote_increment).toFixed(10).replace(regex,'$1'), + asset_increment: Number(product.base_increment).toFixed(10).replace(/\.0*$|(\.\d*[1-9])0+$/,'$1'), label: product.display_name }) }) + products.sort(function(a, b) { + var nameA = a.label.toUpperCase(); // ignore upper and lowercase + var nameB = b.label.toUpperCase(); // ignore upper and lowercase + if (nameA < nameB) { + return -1; + } + if (nameA > nameB) { + return 1; + } + + // names must be equal + return 0; + }); var target = require('path').resolve(__dirname, 'products.json') require('fs').writeFileSync(target, JSON.stringify(products, null, 2)) console.log('wrote', target)