From eae56944b95107ddc6fd91dfc55feb1fe8a6b1cc Mon Sep 17 00:00:00 2001 From: Julian Molina Date: Tue, 12 Oct 2021 14:05:52 +0200 Subject: [PATCH 1/3] Tested exchanges repagination --- ...01-community-effort-to-test-exchanges.json | 21 +- ...hanges-003-binancefutures-test-status.json | 2 +- ...tested-exchanges-004-ftx-test-status.json} | 2 +- ...exchanges-005-binance-us-test-status.json} | 96 ++-- ...ed-exchanges-005-bitfinex-test-status.json | 49 -- .../tested-exchanges-005-ftx-test-status.json | 49 -- ...ed-exchanges-006-bitfinex-test-status.json | 96 ++-- ...sted-exchanges-006-kucoin-test-status.json | 49 -- ...sted-exchanges-007-kucoin-test-status.json | 96 ++-- ...tested-exchanges-007-luno-test-status.json | 45 -- ...sted-exchanges-008-kraken-test-status.json | 49 -- ...tested-exchanges-008-luno-test-status.json | 88 ++-- ...ted-exchanges-009-bittrex-test-status.json | 49 -- ...sted-exchanges-009-kraken-test-status.json | 96 ++-- ...ed-exchanges-010-bitstamp-test-status.json | 56 --- ...ted-exchanges-010-bittrex-test-status.json | 96 ++-- ...exchanges-010-coinbasepro-test-status.json | 57 --- ...ed-exchanges-011-bitstamp-test-status.json | 110 ++--- ...exchanges-012-coinbasepro-test-status.json | 112 ++--- package-lock.json | 433 ++++++++++++------ 20 files changed, 709 insertions(+), 942 deletions(-) rename Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/{tested-exchanges-003-ftx-test-status.json => tested-exchanges-004-ftx-test-status.json} (98%) rename Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/{tested-exchanges-004-binance-us-test-status.json => tested-exchanges-005-binance-us-test-status.json} (96%) delete mode 100644 Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-bitfinex-test-status.json delete mode 100644 Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-ftx-test-status.json delete mode 100644 Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-006-kucoin-test-status.json delete mode 100644 Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-007-luno-test-status.json delete mode 100644 Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-008-kraken-test-status.json delete mode 100644 Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-009-bittrex-test-status.json delete mode 100644 Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-bitstamp-test-status.json delete mode 100644 Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-coinbasepro-test-status.json diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-001-community-effort-to-test-exchanges.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-001-community-effort-to-test-exchanges.json index f955098c4..2f447402c 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-001-community-effort-to-test-exchanges.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-001-community-effort-to-test-exchanges.json @@ -9,7 +9,8 @@ { "language": "ES", "text": "Este tópico cubre los resultados de los trabajos de testeo de la comunidad en los exchanges. Cada página en el tópico describe el resultados de los testeos realizados en un exchange, y explica si el exchange es utilizable o no.", - "updated": 1633284067216 + "updated": 1633284067216, + "style": "Definition" } ] }, @@ -26,7 +27,8 @@ { "language": "ES", "text": "Superalgos utiliza el CCXT library para comunicarse con los exchanges. CCXT es proyecto de código abierto que intenta estandarizar el acceso a las APIs de los exchanges .", - "updated": 1633284193717 + "updated": 1633284193717, + "style": "Text" } ] }, @@ -38,7 +40,8 @@ { "language": "ES", "text": "El proyecto lista más de 120 exchanges as \"supported\" and a few dozen exchanges as \"certified\". See the list in the following ink:", - "updated": 1633284228947 + "updated": 1633284228947, + "style": "Text" } ] }, @@ -55,7 +58,8 @@ { "language": "ES", "text": "De todos modos, no está muy claro exactamente cuales están respaldados y cuales certificados. Experiencias actuales muestran que la estandarización todavía tiene un largo recorrido por delante.", - "updated": 1633284466832 + "updated": 1633284466832, + "style": "Text" } ] }, @@ -67,7 +71,8 @@ { "language": "ES", "text": "Para saber si su exchange preferido está listo para ser utiliado por Superalgos, consulte la página correspondiente a este tópico.", - "updated": 1633284553628 + "updated": 1633284553628, + "style": "Success" } ] }, @@ -84,7 +89,8 @@ { "language": "ES", "text": "Si tu exchange preferido no está incluído en este listado, significa que no ha sido probado. Puede querer preguntar en el Develop Group si alguien ha comenzado con el testeo.", - "updated": 1633284684470 + "updated": 1633284684470, + "style": "Text" } ] }, @@ -95,7 +101,8 @@ { "language": "ES", "text": "Si eres un developer, puedes querer aprender How to Test New Exchanges y ayudar a la comunidad en la búsqueda de expandir el listado.", - "updated": 1633284798025 + "updated": 1633284798025, + "style": "Success" } ] } diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-003-binancefutures-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-003-binancefutures-test-status.json index c3ce3ef92..9f4de967a 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-003-binancefutures-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-003-binancefutures-test-status.json @@ -1,7 +1,7 @@ { "topic": "Tested Exchanges", "pageNumber": 3, - "type": "Binance Futures USDⓈ-M/COIN-M Test Status", + "type": "Binance Futures USDS-M/COIN-M Test Status", "definition": { "text": "Binance Futures Perpetual contracts are partially tested for data mining. Testing in progress for live trading. Note that Quarterly Contract trading will be tested in the future based on users requirement/demand.", "updated": 1615141847424 diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-003-ftx-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-ftx-test-status.json similarity index 98% rename from Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-003-ftx-test-status.json rename to Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-ftx-test-status.json index d53f8c266..bcc0fb7a7 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-003-ftx-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-ftx-test-status.json @@ -1,6 +1,6 @@ { "topic": "Tested Exchanges", - "pageNumber": 3, + "pageNumber": 4, "type": "FTX Test Status", "definition": { "text": "FTX is tested for data mining but not for live trading.", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-binance-us-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-binance-us-test-status.json similarity index 96% rename from Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-binance-us-test-status.json rename to Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-binance-us-test-status.json index d748c0bab..b00b0ddb6 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-binance-us-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-binance-us-test-status.json @@ -1,49 +1,49 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 4, - "type": "Binance-US Test Status", - "definition": { - "text": "Binance US is tested for data mining and live trading", - "updated": 1616241967855 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified", - "updated": 1616241978955 - }, - { - "style": "List", - "text": "Market History: Starting on Genuary 2020", - "updated": 1615210971704 - }, - { - "style": "List", - "text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has been verified", - "updated": 1616241962902 - }, - { - "style": "List", - "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API", - "updated": 1615205045729 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"binanceus\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}", - "updated": 1615210940971 - }, - { - "style": "Text", - "text": "" - } - ] +{ + "topic": "Tested Exchanges", + "pageNumber": 5, + "type": "Binance-US Test Status", + "definition": { + "text": "Binance US is tested for data mining and live trading", + "updated": 1616241967855 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified", + "updated": 1616241978955 + }, + { + "style": "List", + "text": "Market History: Starting on Genuary 2020", + "updated": 1615210971704 + }, + { + "style": "List", + "text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has been verified", + "updated": 1616241962902 + }, + { + "style": "List", + "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API", + "updated": 1615205045729 + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"binanceus\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}", + "updated": 1615210940971 + }, + { + "style": "Text", + "text": "" + } + ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-bitfinex-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-bitfinex-test-status.json deleted file mode 100644 index 4b9ef176c..000000000 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-bitfinex-test-status.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 5, - "type": "Bitfinex Test Status", - "definition": { - "text": "Bitfinex is tested for data mining but not for live trading.", - "updated": 1616003876885 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", - "updated": 1616003797511 - }, - { - "style": "List", - "text": "Market History: 1 year.", - "updated": 1616004049653 - }, - { - "style": "List", - "text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.", - "updated": 1616003817998 - }, - { - "style": "List", - "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API.", - "updated": 1616004065179 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"bitfinex\",\n \"API\": [\n {\n \"rateLimit\": 999\n }\n ]\n}", - "updated": 1615211032603 - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-ftx-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-ftx-test-status.json deleted file mode 100644 index 25d154a9e..000000000 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-005-ftx-test-status.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 5, - "type": "FTX Test Status", - "definition": { - "text": "FTX is tested for data mining but not for live trading.", - "updated": 1616003850379 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", - "updated": 1616003666832 - }, - { - "style": "List", - "text": "Market History: Starting on September 2019", - "updated": 1615204614502 - }, - { - "style": "List", - "text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.", - "updated": 1616003699055 - }, - { - "style": "List", - "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API", - "updated": 1615205045729 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"ftx\"\n}", - "updated": 1615204693035 - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-006-bitfinex-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-006-bitfinex-test-status.json index 9399d821a..cec6f7037 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-006-bitfinex-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-006-bitfinex-test-status.json @@ -1,49 +1,49 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 6, - "type": "Bitfinex Test Status", - "definition": { - "text": "Bitfinex is tested for data mining but not for live trading.", - "updated": 1616003876885 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", - "updated": 1616003797511 - }, - { - "style": "List", - "text": "Market History: 1 year.", - "updated": 1616004049653 - }, - { - "style": "List", - "text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.", - "updated": 1616003817998 - }, - { - "style": "List", - "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API.", - "updated": 1616004065179 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"bitfinex\",\n \"API\": [\n {\n \"rateLimit\": 999\n }\n ]\n}", - "updated": 1615211032603 - }, - { - "style": "Text", - "text": "" - } - ] +{ + "topic": "Tested Exchanges", + "pageNumber": 6, + "type": "Bitfinex Test Status", + "definition": { + "text": "Bitfinex is tested for data mining but not for live trading.", + "updated": 1616003876885 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1616003797511 + }, + { + "style": "List", + "text": "Market History: 1 year.", + "updated": 1616004049653 + }, + { + "style": "List", + "text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616003817998 + }, + { + "style": "List", + "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API.", + "updated": 1616004065179 + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"bitfinex\",\n \"API\": [\n {\n \"rateLimit\": 999\n }\n ]\n}", + "updated": 1615211032603 + }, + { + "style": "Text", + "text": "" + } + ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-006-kucoin-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-006-kucoin-test-status.json deleted file mode 100644 index d8391c5e9..000000000 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-006-kucoin-test-status.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 6, - "type": "Kucoin Test Status", - "definition": { - "text": "Kucoin is tested for data mining and for live trading.", - "updated": 1632650068116 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", - "updated": 1632650093003 - }, - { - "style": "List", - "text": "Market History: 1 day", - "updated": 1615211188110 - }, - { - "style": "List", - "text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has been verified.", - "updated": 1632650205665 - }, - { - "style": "List", - "text": "Comments: This exchange has not yet fully tested but I'm currently live trading on SHIB-USDT pair. I will update this section when I will have had the opportunity to do a more in-depth test", - "updated": 1632650423168 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"kucoin\"\n}", - "updated": 1615211313657 - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-007-kucoin-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-007-kucoin-test-status.json index ef499cffb..c7ae5f46c 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-007-kucoin-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-007-kucoin-test-status.json @@ -1,49 +1,49 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 7, - "type": "Kucoin Test Status", - "definition": { - "text": "Kucoin is tested for data mining and for live trading.", - "updated": 1632650068116 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", - "updated": 1632650093003 - }, - { - "style": "List", - "text": "Market History: 1 day", - "updated": 1615211188110 - }, - { - "style": "List", - "text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has been verified.", - "updated": 1632650205665 - }, - { - "style": "List", - "text": "Comments: This exchange has not yet fully tested but I'm currently live trading on SHIB-USDT pair. I will update this section when I will have had the opportunity to do a more in-depth test", - "updated": 1632650423168 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"kucoin\"\n}", - "updated": 1615211313657 - }, - { - "style": "Text", - "text": "" - } - ] +{ + "topic": "Tested Exchanges", + "pageNumber": 7, + "type": "Kucoin Test Status", + "definition": { + "text": "Kucoin is tested for data mining and for live trading.", + "updated": 1632650068116 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1632650093003 + }, + { + "style": "List", + "text": "Market History: 1 day", + "updated": 1615211188110 + }, + { + "style": "List", + "text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has been verified.", + "updated": 1632650205665 + }, + { + "style": "List", + "text": "Comments: This exchange has not yet fully tested but I'm currently live trading on SHIB-USDT pair. I will update this section when I will have had the opportunity to do a more in-depth test", + "updated": 1632650423168 + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"kucoin\"\n}", + "updated": 1615211313657 + }, + { + "style": "Text", + "text": "" + } + ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-007-luno-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-007-luno-test-status.json deleted file mode 100644 index 355da5a6e..000000000 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-007-luno-test-status.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 7, - "type": "Luno Test Status", - "definition": { - "text": "Luno is tested for data mining and for live trading - however, due to recent changes in their API, it has become virtually useless for back-testing, and not much better for live trading. See below for explanation.", - "updated": 1621587736536 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes - but with severe restrictions. The ability to fetch historic data for backtesting purposes has been now been severely restricted, since you can no longer fetch trades older than 24 hours.", - "updated": 1621587332130 - }, - { - "style": "List", - "text": "Trading Capability [**]: Yes - but with restrictions. The ability to run strategies in live-trading mode is now possible. Ensure that the version of the CCXT library being used by Superalgos is 1.42.77 or better - earlier versions of this library did not correctly apply the precision settings of the exchange in the amounts specified for creating orders.", - "updated": 1621587760053 - }, - { - "style": "List", - "text": "Comments: Raw Data mining is extremely slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API. One day of Raw Data used to take about 5 minutes to download. However, since a recent upgrade (somewhere around 15th May, 2021) it is no longer possible to retrieve raw trades older than 24 hours. This means that a start day must be fully specified (i.e. both date and time), and it must be less than 24 hours behind the current date/time. Keep this in mind when setting a start date. The reason for this is because they do not support fetching of OHCLV data - this data has to be compiled by fetching individual trades. The fetching of trades is limited to 100 trades per request, and the rate limit is 1 second. Furthermore, you will need to run data mining for at least 24 hours before being able to start running any trading.", - "updated": 1621587866572 - }, - { - "style": "Subtitle", - "text": "RECOMMENDATION: Luno is no longer suitable for use with SuperAlgos until such time that the Luno developers implement the correct API for retrieving OHLCV data.", - "updated": 1621588017824 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"luno\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"useFetchTradesForFetchOHLCVs\": true,\n \"maxTradesPerFetch\": 100,\n \"limit\": 200,\n \"rateLimit\": 1100\n }\n ]\n}", - "updated": 1615211372349 - } - ] -} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-008-kraken-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-008-kraken-test-status.json deleted file mode 100644 index 5aa382934..000000000 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-008-kraken-test-status.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 8, - "type": "Kraken Test Status", - "definition": { - "text": "Kraken is tested for data mining but not for live trading.", - "updated": 1616005542987 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", - "updated": 1616005497164 - }, - { - "style": "List", - "text": "Market History: Unknown", - "updated": 1615204614502 - }, - { - "style": "List", - "text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.", - "updated": 1616005523609 - }, - { - "style": "List", - "text": "Comments: With standard settings only one day worth of Raw Data is fetched. To retrieve Raw Data in Kraken, pairs in config are reversed. Backtesting and Live Trading behaviour unknown", - "updated": 1615278620667 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"USDT/BTC\"\n}", - "updated": 1615278483740 - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-008-luno-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-008-luno-test-status.json index 4ee2c9fd3..40d995259 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-008-luno-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-008-luno-test-status.json @@ -1,45 +1,45 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 8, - "type": "Luno Test Status", - "definition": { - "text": "Luno is tested for data mining and for live trading - however, due to recent changes in their API, it has become virtually useless for back-testing, and not much better for live trading. See below for explanation.", - "updated": 1621587736536 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes - but with severe restrictions. The ability to fetch historic data for backtesting purposes has been now been severely restricted, since you can no longer fetch trades older than 24 hours.", - "updated": 1621587332130 - }, - { - "style": "List", - "text": "Trading Capability [**]: Yes - but with restrictions. The ability to run strategies in live-trading mode is now possible. Ensure that the version of the CCXT library being used by Superalgos is 1.42.77 or better - earlier versions of this library did not correctly apply the precision settings of the exchange in the amounts specified for creating orders.", - "updated": 1621587760053 - }, - { - "style": "List", - "text": "Comments: Raw Data mining is extremely slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API. One day of Raw Data used to take about 5 minutes to download. However, since a recent upgrade (somewhere around 15th May, 2021) it is no longer possible to retrieve raw trades older than 24 hours. This means that a start day must be fully specified (i.e. both date and time), and it must be less than 24 hours behind the current date/time. Keep this in mind when setting a start date. The reason for this is because they do not support fetching of OHCLV data - this data has to be compiled by fetching individual trades. The fetching of trades is limited to 100 trades per request, and the rate limit is 1 second. Furthermore, you will need to run data mining for at least 24 hours before being able to start running any trading.", - "updated": 1621587866572 - }, - { - "style": "Subtitle", - "text": "RECOMMENDATION: Luno is no longer suitable for use with SuperAlgos until such time that the Luno developers implement the correct API for retrieving OHLCV data.", - "updated": 1621588017824 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"luno\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"useFetchTradesForFetchOHLCVs\": true,\n \"maxTradesPerFetch\": 100,\n \"limit\": 200,\n \"rateLimit\": 1100\n }\n ]\n}", - "updated": 1615211372349 - } - ] +{ + "topic": "Tested Exchanges", + "pageNumber": 8, + "type": "Luno Test Status", + "definition": { + "text": "Luno is tested for data mining and for live trading - however, due to recent changes in their API, it has become virtually useless for back-testing, and not much better for live trading. See below for explanation.", + "updated": 1621587736536 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: Yes - but with severe restrictions. The ability to fetch historic data for backtesting purposes has been now been severely restricted, since you can no longer fetch trades older than 24 hours.", + "updated": 1621587332130 + }, + { + "style": "List", + "text": "Trading Capability [**]: Yes - but with restrictions. The ability to run strategies in live-trading mode is now possible. Ensure that the version of the CCXT library being used by Superalgos is 1.42.77 or better - earlier versions of this library did not correctly apply the precision settings of the exchange in the amounts specified for creating orders.", + "updated": 1621587760053 + }, + { + "style": "List", + "text": "Comments: Raw Data mining is extremely slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API. One day of Raw Data used to take about 5 minutes to download. However, since a recent upgrade (somewhere around 15th May, 2021) it is no longer possible to retrieve raw trades older than 24 hours. This means that a start day must be fully specified (i.e. both date and time), and it must be less than 24 hours behind the current date/time. Keep this in mind when setting a start date. The reason for this is because they do not support fetching of OHCLV data - this data has to be compiled by fetching individual trades. The fetching of trades is limited to 100 trades per request, and the rate limit is 1 second. Furthermore, you will need to run data mining for at least 24 hours before being able to start running any trading.", + "updated": 1621587866572 + }, + { + "style": "Subtitle", + "text": "RECOMMENDATION: Luno is no longer suitable for use with SuperAlgos until such time that the Luno developers implement the correct API for retrieving OHLCV data.", + "updated": 1621588017824 + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"luno\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"useFetchTradesForFetchOHLCVs\": true,\n \"maxTradesPerFetch\": 100,\n \"limit\": 200,\n \"rateLimit\": 1100\n }\n ]\n}", + "updated": 1615211372349 + } + ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-009-bittrex-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-009-bittrex-test-status.json deleted file mode 100644 index 1d37801cc..000000000 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-009-bittrex-test-status.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 9, - "type": "Bittrex Test Status", - "definition": { - "text": "Bittrex is not fully tested for data mining nor for live trading.", - "updated": 1616005578529 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Unknown. The ability to fetch historic data for backtesting purposes has not been verified.", - "updated": 1616005666238 - }, - { - "style": "List", - "text": "Market History: Unknown.", - "updated": 1616005647200 - }, - { - "style": "List", - "text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.", - "updated": 1616005641922 - }, - { - "style": "List", - "text": "Comments: Raw Data mining it's extremely slow due to API restriction", - "updated": 1615450349464 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"bittrex\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"limit\": 2\n }\n ]\n}", - "updated": 1615450253869 - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-009-kraken-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-009-kraken-test-status.json index 8cfeaa6a0..f7a1a297a 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-009-kraken-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-009-kraken-test-status.json @@ -1,49 +1,49 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 9, - "type": "Kraken Test Status", - "definition": { - "text": "Kraken is tested for data mining but not for live trading.", - "updated": 1616005542987 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", - "updated": 1616005497164 - }, - { - "style": "List", - "text": "Market History: Unknown", - "updated": 1615204614502 - }, - { - "style": "List", - "text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.", - "updated": 1616005523609 - }, - { - "style": "List", - "text": "Comments: With standard settings only one day worth of Raw Data is fetched. To retrieve Raw Data in Kraken, pairs in config are reversed. Backtesting and Live Trading behaviour unknown", - "updated": 1615278620667 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"USDT/BTC\"\n}", - "updated": 1615278483740 - }, - { - "style": "Text", - "text": "" - } - ] +{ + "topic": "Tested Exchanges", + "pageNumber": 9, + "type": "Kraken Test Status", + "definition": { + "text": "Kraken is tested for data mining but not for live trading.", + "updated": 1616005542987 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1616005497164 + }, + { + "style": "List", + "text": "Market History: Unknown", + "updated": 1615204614502 + }, + { + "style": "List", + "text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616005523609 + }, + { + "style": "List", + "text": "Comments: With standard settings only one day worth of Raw Data is fetched. To retrieve Raw Data in Kraken, pairs in config are reversed. Backtesting and Live Trading behaviour unknown", + "updated": 1615278620667 + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"USDT/BTC\"\n}", + "updated": 1615278483740 + }, + { + "style": "Text", + "text": "" + } + ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-bitstamp-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-bitstamp-test-status.json deleted file mode 100644 index 009484625..000000000 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-bitstamp-test-status.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": "10", - "type": "Bitstamp Test Status", - "definition": { - "text": "Bitstamp is fully tested for data mining and trading.", - "updated": 1615141847424 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes." - }, - { - "style": "List", - "text": "Market History: Starting on September 2017.", - "updated": 1615142912901 - }, - { - "style": "List", - "text": "Trading Capability [**]: Yes.", - "updated": 1615143016205 - }, - { - "style": "List", - "text": "Comments: Fully tested. ", - "updated": 1615142951363 - }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has been verified." - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has been verified." - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"bitstamp\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}", - "updated": 1616805179437 - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-bittrex-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-bittrex-test-status.json index 236d6ed55..d3989d419 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-bittrex-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-bittrex-test-status.json @@ -1,49 +1,49 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 10, - "type": "Bittrex Test Status", - "definition": { - "text": "Bittrex is not fully tested for data mining nor for live trading.", - "updated": 1616005578529 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Unknown. The ability to fetch historic data for backtesting purposes has not been verified.", - "updated": 1616005666238 - }, - { - "style": "List", - "text": "Market History: Unknown.", - "updated": 1616005647200 - }, - { - "style": "List", - "text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.", - "updated": 1616005641922 - }, - { - "style": "List", - "text": "Comments: Raw Data mining it's extremely slow due to API restriction", - "updated": 1615450349464 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"bittrex\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"limit\": 2\n }\n ]\n}", - "updated": 1615450253869 - }, - { - "style": "Text", - "text": "" - } - ] +{ + "topic": "Tested Exchanges", + "pageNumber": 10, + "type": "Bittrex Test Status", + "definition": { + "text": "Bittrex is not fully tested for data mining nor for live trading.", + "updated": 1616005578529 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: Unknown. The ability to fetch historic data for backtesting purposes has not been verified.", + "updated": 1616005666238 + }, + { + "style": "List", + "text": "Market History: Unknown.", + "updated": 1616005647200 + }, + { + "style": "List", + "text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616005641922 + }, + { + "style": "List", + "text": "Comments: Raw Data mining it's extremely slow due to API restriction", + "updated": 1615450349464 + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"bittrex\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"limit\": 2\n }\n ]\n}", + "updated": 1615450253869 + }, + { + "style": "Text", + "text": "" + } + ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-coinbasepro-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-coinbasepro-test-status.json deleted file mode 100644 index ee9549a2e..000000000 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-010-coinbasepro-test-status.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 10, - "type": "CoinbasePro Test Status", - "definition": { - "text": "Coinbase Pro is not fully tested for data mining nor for live trading.", - "updated": 1616005773803 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. Backtesting and Paper trading are functional. The data mining process is extremely slow when retrieving full history due to API limits but it is adequate for live trading purposes.", - "updated": 1617935711274 - }, - { - "style": "List", - "text": "Market History: Full extent is unknown, however it is at least 2020-01-01.", - "updated": 1617935743856 - }, - { - "style": "List", - "text": "Trading Capability: Partial. With a proper key configuration placing orders is possible. Currently, closing orders is not fully functional, so all types of trading strategies may not be fully functional.", - "updated": 1617935811860 - }, - { - "style": "List", - "text": "Comments: Raw Data fetching extremely slow due to API restrictions, see config.", - "updated": 1616005813658 - }, - { - "style": "Title", - "text": "Exchange Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"coinbasepro\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"limit\": 300\n }\n ]\n}", - "updated": 1617935879109 - }, - { - "style": "Title", - "text": "API Key Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"APIKEY\",\n \"secret\": \"SECRETKEY\",\n \"password\": \"PASSPHRASE\"\n}" - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-011-bitstamp-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-011-bitstamp-test-status.json index e562a1be9..dfbae7b53 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-011-bitstamp-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-011-bitstamp-test-status.json @@ -1,56 +1,56 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": "11", - "type": "Bitstamp Test Status", - "definition": { - "text": "Bitstamp is fully tested for data mining and trading.", - "updated": 1615141847424 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes." - }, - { - "style": "List", - "text": "Market History: Starting on September 2017.", - "updated": 1615142912901 - }, - { - "style": "List", - "text": "Trading Capability [**]: Yes.", - "updated": 1615143016205 - }, - { - "style": "List", - "text": "Comments: Fully tested. ", - "updated": 1615142951363 - }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has been verified." - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has been verified." - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"bitstamp\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}", - "updated": 1616805179437 - }, - { - "style": "Text", - "text": "" - } - ] +{ + "topic": "Tested Exchanges", + "pageNumber": 11, + "type": "Bitstamp Test Status", + "definition": { + "text": "Bitstamp is fully tested for data mining and trading.", + "updated": 1615141847424 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability [*]: Yes." + }, + { + "style": "List", + "text": "Market History: Starting on September 2017.", + "updated": 1615142912901 + }, + { + "style": "List", + "text": "Trading Capability [**]: Yes.", + "updated": 1615143016205 + }, + { + "style": "List", + "text": "Comments: Fully tested. ", + "updated": 1615142951363 + }, + { + "style": "Text", + "text": "[*] The ability to fetch historic data for backtesting purposes has been verified." + }, + { + "style": "Text", + "text": "[**] The ability to run strategies in live-trading mode has been verified." + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"bitstamp\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}", + "updated": 1616805179437 + }, + { + "style": "Text", + "text": "" + } + ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-012-coinbasepro-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-012-coinbasepro-test-status.json index 542d8451e..b6968d2f9 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-012-coinbasepro-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-012-coinbasepro-test-status.json @@ -1,57 +1,57 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": 12, - "type": "CoinbasePro Test Status", - "definition": { - "text": "Coinbase Pro is not fully tested for data mining nor for live trading.", - "updated": 1616005773803 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability: Yes. Backtesting and Paper trading are functional. The data mining process is extremely slow when retrieving full history due to API limits but it is adequate for live trading purposes.", - "updated": 1617935711274 - }, - { - "style": "List", - "text": "Market History: Full extent is unknown, however it is at least 2020-01-01.", - "updated": 1617935743856 - }, - { - "style": "List", - "text": "Trading Capability: Partial. With a proper key configuration placing orders is possible. Currently, closing orders is not fully functional, so all types of trading strategies may not be fully functional.", - "updated": 1617935811860 - }, - { - "style": "List", - "text": "Comments: Raw Data fetching extremely slow due to API restrictions, see config.", - "updated": 1616005813658 - }, - { - "style": "Title", - "text": "Exchange Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"coinbasepro\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"limit\": 300\n }\n ]\n}", - "updated": 1617935879109 - }, - { - "style": "Title", - "text": "API Key Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"APIKEY\",\n \"secret\": \"SECRETKEY\",\n \"password\": \"PASSPHRASE\"\n}" - }, - { - "style": "Text", - "text": "" - } - ] +{ + "topic": "Tested Exchanges", + "pageNumber": 12, + "type": "CoinbasePro Test Status", + "definition": { + "text": "Coinbase Pro is not fully tested for data mining nor for live trading.", + "updated": 1616005773803 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: Yes. Backtesting and Paper trading are functional. The data mining process is extremely slow when retrieving full history due to API limits but it is adequate for live trading purposes.", + "updated": 1617935711274 + }, + { + "style": "List", + "text": "Market History: Full extent is unknown, however it is at least 2020-01-01.", + "updated": 1617935743856 + }, + { + "style": "List", + "text": "Trading Capability: Partial. With a proper key configuration placing orders is possible. Currently, closing orders is not fully functional, so all types of trading strategies may not be fully functional.", + "updated": 1617935811860 + }, + { + "style": "List", + "text": "Comments: Raw Data fetching extremely slow due to API restrictions, see config.", + "updated": 1616005813658 + }, + { + "style": "Title", + "text": "Exchange Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"coinbasepro\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"limit\": 300\n }\n ]\n}", + "updated": 1617935879109 + }, + { + "style": "Title", + "text": "API Key Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"APIKEY\",\n \"secret\": \"SECRETKEY\",\n \"password\": \"PASSPHRASE\"\n}" + }, + { + "style": "Text", + "text": "" + } + ] } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 92b0a838e..4dbef08a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -100,6 +100,34 @@ "requires": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.1" + }, + "dependencies": { + "@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "requires": { + "@types/node": "*" + } + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + }, + "ethereumjs-util": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.2.tgz", + "integrity": "sha512-xCV3PTAhW8Q2k88XZn9VcO4OrjpeXAlDm5LQTaOLp81SjNSSY6+MwuGXrx6vafOMheWSmZGxIXUbue5e9UvUBw==", + "requires": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + } + } } }, "@ethereumjs/tx": { @@ -109,6 +137,34 @@ "requires": { "@ethereumjs/common": "^2.5.0", "ethereumjs-util": "^7.1.2" + }, + "dependencies": { + "@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "requires": { + "@types/node": "*" + } + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + }, + "ethereumjs-util": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.2.tgz", + "integrity": "sha512-xCV3PTAhW8Q2k88XZn9VcO4OrjpeXAlDm5LQTaOLp81SjNSSY6+MwuGXrx6vafOMheWSmZGxIXUbue5e9UvUBw==", + "requires": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + } + } } }, "@ethersproject/abi": { @@ -593,16 +649,16 @@ } }, "@octokit/openapi-types": { - "version": "10.6.4", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-10.6.4.tgz", - "integrity": "sha512-JVmwWzYTIs6jACYOwD6zu5rdrqGIYsiAsLzTCxdrWIPNKNVjEF6vPTL20shmgJ4qZsq7WPBcLXLsaQD+NLChfg==" + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" }, "@octokit/plugin-paginate-rest": { - "version": "2.16.7", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.7.tgz", - "integrity": "sha512-TMlyVhMPx6La1Ud4PSY4YxqAvb9YPEMs/7R1nBSbsw4wNqG73aBqls0r0dRRCWe5Pm0ZUGS9a94N46iAxlOR8A==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", "requires": { - "@octokit/types": "^6.31.3" + "@octokit/types": "^6.34.0" } }, "@octokit/plugin-request-log": { @@ -611,18 +667,18 @@ "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==" }, "@octokit/plugin-rest-endpoint-methods": { - "version": "5.11.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.11.4.tgz", - "integrity": "sha512-iS+GYTijrPUiEiLoDsGJhrbXIvOPfm2+schvr+FxNMs7PeE9Nl4bAMhE8ftfNX3Z1xLxSKwEZh0O7GbWurX5HQ==", + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", "requires": { - "@octokit/types": "^6.31.2", + "@octokit/types": "^6.34.0", "deprecation": "^2.3.1" } }, "@octokit/request": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.1.tgz", - "integrity": "sha512-Ls2cfs1OfXaOKzkcxnqw5MR6drMA/zWX/LIS/p8Yjdz7QKTPQLMsB3R+OvoxE6XnXeXEE2X7xe4G4l4X0gRiKQ==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz", + "integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==", "requires": { "@octokit/endpoint": "^6.0.1", "@octokit/request-error": "^2.1.0", @@ -643,22 +699,22 @@ } }, "@octokit/rest": { - "version": "18.11.4", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.11.4.tgz", - "integrity": "sha512-QplypCyYxqMK05JdMSm/bDWZO8VWWaBdzQ9tbF9rEV9rIEiICh+v6q+Vu/Y5hdze8JJaxfUC+PBC7vrnEkZvZg==", + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", "requires": { "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.16.4", + "@octokit/plugin-paginate-rest": "^2.16.8", "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "5.11.4" + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" } }, "@octokit/types": { - "version": "6.31.3", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.31.3.tgz", - "integrity": "sha512-IUG3uMpsLHrtEL6sCVXbxCgnbKcgpkS4K7gVEytLDvYYalkK3XcuMCHK1YPD8xJglSJAOAbL4MgXp47rS9G49w==", + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", "requires": { - "@octokit/openapi-types": "^10.6.4" + "@octokit/openapi-types": "^11.2.0" } }, "@sindresorhus/is": { @@ -765,6 +821,11 @@ "@types/node": "*" } }, + "@types/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==" + }, "@types/verror": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.5.tgz", @@ -929,8 +990,7 @@ "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "array-flatten": { "version": "1.1.1", @@ -1112,6 +1172,11 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" } } }, @@ -1438,9 +1503,9 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "ccxt": { - "version": "1.57.36", - "resolved": "https://registry.npmjs.org/ccxt/-/ccxt-1.57.36.tgz", - "integrity": "sha512-jnSqnECowy8PNKLp7dN1KbFkrk5VlvoAyJfjY3u69IOLvFFdiAPdFznr1onr03efb/x5d+vB6aofFazRperWWA==" + "version": "1.57.98", + "resolved": "https://registry.npmjs.org/ccxt/-/ccxt-1.57.98.tgz", + "integrity": "sha512-G3jKwQZO4xD2xqKlOfEtmlP9g34XQZ+5bcZRWog0hAtixOSzEUOL55po2FU+g077txAP1/caIljnLLBKgVbVbg==" }, "chalk": { "version": "4.1.2", @@ -2254,6 +2319,40 @@ } } }, + "electron-updater": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.3.9.tgz", + "integrity": "sha512-LCNfedSwZfS4Hza+pDyPR05LqHtGorCStaBgVpRnfKxOlZcvpYEX0AbMeH5XUtbtGRoH2V8osbbf2qKPNb7AsA==", + "requires": { + "@types/semver": "^7.3.5", + "builder-util-runtime": "8.7.5", + "fs-extra": "^10.0.0", + "js-yaml": "^4.1.0", + "lazy-val": "^1.0.4", + "lodash.escaperegexp": "^4.1.2", + "lodash.isequal": "^4.5.0", + "semver": "^7.3.5" + }, + "dependencies": { + "builder-util-runtime": { + "version": "8.7.5", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.5.tgz", + "integrity": "sha512-fgUFHKtMNjdvH6PDRFntdIGUPgwZ69sXsAqEulCtoiqgWes5agrMq/Ud274zjJRTbckYh2PHh8/1CpFc6dpsbQ==", + "requires": { + "debug": "^4.3.2", + "sax": "^1.2.4" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, "elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -2294,9 +2393,9 @@ "dev": true }, "es-abstract": { - "version": "1.18.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz", - "integrity": "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -2309,7 +2408,9 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", "is-string": "^1.0.7", + "is-weakref": "^1.0.1", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", @@ -2476,50 +2577,20 @@ "requires": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } } }, "ethereumjs-util": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.2.tgz", - "integrity": "sha512-xCV3PTAhW8Q2k88XZn9VcO4OrjpeXAlDm5LQTaOLp81SjNSSY6+MwuGXrx6vafOMheWSmZGxIXUbue5e9UvUBw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", "create-hash": "^1.1.2", + "elliptic": "^6.5.2", "ethereum-cryptography": "^0.1.3", "ethjs-util": "0.1.6", - "rlp": "^2.2.4" - }, - "dependencies": { - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "requires": { - "@types/node": "*" - } - }, - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } + "rlp": "^2.2.3" } }, "ethers": { @@ -2657,6 +2728,11 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" } } }, @@ -2811,13 +2887,29 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "dependencies": { + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } } }, "fs-minipass": { @@ -3407,6 +3499,11 @@ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -3445,6 +3542,14 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "requires": { + "call-bind": "^1.0.0" + } + }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -3570,7 +3675,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "requires": { "argparse": "^2.0.1" } @@ -3658,8 +3762,7 @@ "lazy-val": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", - "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", - "dev": true + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==" }, "lodash": { "version": "4.17.21", @@ -3667,6 +3770,16 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, "lookpath": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/lookpath/-/lookpath-1.2.2.tgz", @@ -3681,7 +3794,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" }, @@ -3689,8 +3801,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -3753,16 +3864,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "requires": { - "mime-db": "1.49.0" + "mime-db": "1.50.0" } }, "mimic-response": { @@ -3914,9 +4025,9 @@ } }, "node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" }, "normalize-url": { "version": "4.5.1", @@ -4006,9 +4117,9 @@ } }, "open": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz", - "integrity": "sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.3.0.tgz", + "integrity": "sha512-7INcPWb1UcOwSQxAXTnBJ+FxVV4MPs/X++FWWBtgY69/J5lc+tCteMt/oFK1MnkyHC4VILLa9ntmwKTwDR4Q9w==", "requires": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -4026,12 +4137,9 @@ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "requires": { - "p-finally": "^1.0.0" - } + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", + "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==" }, "package-json": { "version": "6.5.0", @@ -4233,9 +4341,9 @@ } }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "query-string": { "version": "5.1.1", @@ -4366,13 +4474,6 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - } } }, "require-directory": { @@ -4408,11 +4509,18 @@ } }, "rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { - "bn.js": "^4.11.1" + "bn.js": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + } } }, "roarr": { @@ -4465,8 +4573,7 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "scrypt-js": { "version": "3.0.1", @@ -4839,6 +4946,16 @@ "xhr-request": "^1.0.1" }, "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", @@ -4870,6 +4987,14 @@ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", @@ -4928,26 +5053,6 @@ "safe-compare": "^1.1.4", "sandwich-stream": "^2.0.2", "typegram": "^3.4.2" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "p-timeout": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", - "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==" - } } }, "temp-file": { @@ -5448,6 +5553,14 @@ "web3-utils": "1.6.0" }, "dependencies": { + "@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "requires": { + "@types/node": "*" + } + }, "eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", @@ -5458,6 +5571,26 @@ "xhr-request-promise": "^0.1.2" } }, + "ethereumjs-util": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.2.tgz", + "integrity": "sha512-xCV3PTAhW8Q2k88XZn9VcO4OrjpeXAlDm5LQTaOLp81SjNSSY6+MwuGXrx6vafOMheWSmZGxIXUbue5e9UvUBw==", + "requires": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + } + } + }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", @@ -5578,6 +5711,36 @@ "number-to-bn": "1.7.0", "randombytes": "^2.1.0", "utf8": "3.0.0" + }, + "dependencies": { + "@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "requires": { + "@types/node": "*" + } + }, + "ethereumjs-util": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.2.tgz", + "integrity": "sha512-xCV3PTAhW8Q2k88XZn9VcO4OrjpeXAlDm5LQTaOLp81SjNSSY6+MwuGXrx6vafOMheWSmZGxIXUbue5e9UvUBw==", + "requires": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + } + } + } } }, "webidl-conversions": { From e5af65a1aa1ed57ae76194b837ad6db2e00dbd33 Mon Sep 17 00:00:00 2001 From: NAmorim Date: Tue, 12 Oct 2021 16:27:53 +0100 Subject: [PATCH 2/3] Enable MacOS build Small corrections Enable CI releases --- .github/workflows/release_build.yml | 6 +++--- Platform/Client/taskManagerServer.js | 2 +- electron-wrapper.js | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml index 7d3550a2f..cbd424a2b 100644 --- a/.github/workflows/release_build.yml +++ b/.github/workflows/release_build.yml @@ -11,16 +11,16 @@ jobs: strategy: matrix: - os: [windows-latest] + os: [windows-latest, macos-latest] steps: - name: Check out Git repository - uses: actions/checkout@v1 + uses: actions/checkout@v2 - name: Install Node.js, NPM and Yarn uses: actions/setup-node@v1 with: - node-version: 16 + node-version: 14 - name: Build/release Electron app uses: samuelmeuli/action-electron-builder@v1 diff --git a/Platform/Client/taskManagerServer.js b/Platform/Client/taskManagerServer.js index b0e3b6161..c645e497b 100644 --- a/Platform/Client/taskManagerServer.js +++ b/Platform/Client/taskManagerServer.js @@ -63,7 +63,7 @@ //console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Name = ' + message.event.taskName) //console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Id = ' + message.event.taskId) - let path = './TaskServerRoot.js' + let path = global.env.BASE_PATH + '/TaskServerRoot.js' /* Workarround to avoid having the same debug port at the forked process which makes it crash. */ for (let i = 0; i < process.execArgv.length; i++) { diff --git a/electron-wrapper.js b/electron-wrapper.js index c1e3da424..73aa9fe08 100644 --- a/electron-wrapper.js +++ b/electron-wrapper.js @@ -3,7 +3,7 @@ const {app, Menu, BrowserWindow} = require('electron') const path = require('path') const fs = require('fs') // To check for update on Github repo -const {autoUpdater} = require("electron-updater"); +const {autoUpdater} = require("electron-updater") // Enable non contribution mode (test) process.env.SA_MODE = 'gitDisable' @@ -23,11 +23,11 @@ run() function run() { if (process.env.PORTABLE_EXECUTABLE_DIR) { - process.env.PORTABLE_USER_DOCUMENTS = app.getPath("documents") - } + process.env.PORTABLE_USER_DOCUMENTS = app.getPath("userData") + } const { fork } = require('child_process') - fork(path.join(__dirname, './PlatformRoot.js'), ["noBrowser"]) + fork(path.join(__dirname, '/PlatformRoot.js'), ["noBrowser"]) server_ready = true if (app_ready) open() From f78866da48627cf3ae506fec73c5a3776befcac5 Mon Sep 17 00:00:00 2001 From: NAmorim Date: Tue, 12 Oct 2021 16:38:03 +0100 Subject: [PATCH 3/3] Add Windows icon to build folder --- build/superalgos.ico | Bin 0 -> 13661 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 build/superalgos.ico diff --git a/build/superalgos.ico b/build/superalgos.ico new file mode 100644 index 0000000000000000000000000000000000000000..ad6b5d50be18a10a6c8e9c0a8ff3db1423a7445d GIT binary patch literal 13661 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