There was an issue that if a provider started rejecting requests, the pricenode would keep delivering the last known rates to the Bisq average calculation. Over time as market moved, the calculated rate would diverge from reality. This happened when Poloniex feed went down and the XMR price became inaccurate. See https://github.com/bisq-network/bisq-pricenode/issues/18
If pricenode was started and a provider was down the metadata fields would not be supplied to Bisq. This caused an NPE in Bisq which is hardcoded to expect certain exchange names in metadata. Bisq would also reject the pricenodes and as a result have no market data in that case. Fix is to always include the metadata for all known exchanges, even when they are not supplying a price. See https://github.com/bisq-network/bisq/issues/6820
Adjusted the logging to write rates retrieved from each exchange. Previously it would only log LTC and USD. Recent support issues show that it is helpful for a pricenode operator to know what rates are being provided by each exchange.
Adjusted a test to allow for no rates received from a provider. This can happen as is currently the case with Poloniex which is down. It can also happen with Binance if you are in a region that they are geoblocking due to US regulations. Its safe to assume that any provider can at any time go offline or into error state. Its no reason to fail a test, the test is supposed to check the pricenode logic, not the online status of an exchange.
Fixes #18
LTC
andUSD
. Recent support issues show that it is helpful for a pricenode operator to know what rates are being provided by each exchange.