Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bisq loses market price feed when hardcoded exchange names are not present #6820

Closed
ghost opened this issue Aug 20, 2023 · 1 comment · Fixed by #6822
Closed

Bisq loses market price feed when hardcoded exchange names are not present #6820

ghost opened this issue Aug 20, 2023 · 1 comment · Fixed by #6822

Comments

@ghost
Copy link

ghost commented Aug 20, 2023

There is code in the Bisq client to expect the following hard coded metadata items from the Price Node:

tsMap.put("btcAverageTs", ((Double) map.get("btcAverageTs")).longValue());
tsMap.put("poloniexTs", ((Double) map.get("poloniexTs")).longValue());
tsMap.put("coinmarketcapTs", ((Double) map.get("coinmarketcapTs")).longValue());

A comment in the PriceNode says "Specific metadata fields for specific providers are expected by the client, mostly for historical reasons".

If any of them are not present, an Null Pointer Exception occurs and the price node is switched out for an alternate. If all price nodes are doing the same thing, then Bisq will not have any market price feed.

This is currently a problem because the poloniex feed is down, and therefore poloniexTs is not present in metadata, unless the pricenode has cached results from previously when the feed was working. The observed effect is that if you reboot a pricenode with the poloniex feed not working, it will not provide metadata that Bisq clients rely on.


Temporarily, here is a bisq-pricenode patch to restore the missing metadata:
https://gist.github.com/jmacxx/eff7705656640d7845e15bad60ad11d3

Ultimately, the Bisq client should not expect exchange specific tags in the feed, because exchanges are not permanent.


Credit to Matrix user paulj for working through this issue and bisq-network/bisq-pricenode#18

@pjakma
Copy link

pjakma commented Aug 20, 2023

Applied the gist patch to my bisq-pricenode and starting with bisq with --providers=localhost:8080, and Bisq is getting price data and it's correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant