From 53a90f9d1776e47dd4b67fdb508f550d2395eac8 Mon Sep 17 00:00:00 2001 From: jmacxx <47253594+jmacxx@users.noreply.github.com> Date: Fri, 20 Nov 2020 16:13:22 -0600 Subject: [PATCH] create JSON files of actively traded crypto and fiat assets --- .../statistics/TradeStatisticsManager.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/core/src/main/java/bisq/core/trade/statistics/TradeStatisticsManager.java b/core/src/main/java/bisq/core/trade/statistics/TradeStatisticsManager.java index 83ae72b85b9..044018c018b 100644 --- a/core/src/main/java/bisq/core/trade/statistics/TradeStatisticsManager.java +++ b/core/src/main/java/bisq/core/trade/statistics/TradeStatisticsManager.java @@ -40,11 +40,14 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableSet; +import java.time.Instant; + import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; @@ -135,6 +138,24 @@ private void maybeDumpStatistics() { .collect(Collectors.toCollection(ArrayList::new)); cryptoCurrencyList.add(0, new CurrencyTuple(Res.getBaseCurrencyCode(), Res.getBaseCurrencyName(), 8)); jsonFileManager.writeToDiscThreaded(Utilities.objectToJson(cryptoCurrencyList), "crypto_currency_list"); + + Instant yearAgo = Instant.ofEpochSecond(Instant.now().getEpochSecond() - TimeUnit.DAYS.toSeconds(365)); + Set activeCurrencies = observableTradeStatisticsSet.stream() + .filter(e -> e.getDate().toInstant().isAfter(yearAgo)) + .map(p -> p.getCurrency()) + .collect(Collectors.toSet()); + + ArrayList activeFiatCurrencyList = fiatCurrencyList.stream() + .filter(e -> activeCurrencies.contains(e.code)) + .map(e -> new CurrencyTuple(e.code, e.name, 8)) + .collect(Collectors.toCollection(ArrayList::new)); + jsonFileManager.writeToDiscThreaded(Utilities.objectToJson(activeFiatCurrencyList), "active_fiat_currency_list"); + + ArrayList activeCryptoCurrencyList = cryptoCurrencyList.stream() + .filter(e -> activeCurrencies.contains(e.code)) + .map(e -> new CurrencyTuple(e.code, e.name, 8)) + .collect(Collectors.toCollection(ArrayList::new)); + jsonFileManager.writeToDiscThreaded(Utilities.objectToJson(activeCryptoCurrencyList), "active_crypto_currency_list"); } List list = observableTradeStatisticsSet.stream()