Commit graph

35 commits

Author SHA1 Message Date
Andrew Camilleri
6049fa23a7
Support pluginable rate providers (#5777)
* Support pluginable rate providers

This PR allows plugins to provide custom rate providers, that can be contextual to a store. For example, if you use the upcoming fiat offramp plugin, or the Blink plugin, you'll probably want to configure the fetch the rates from them since they are determining the actual fiat rrate to you. However, they require API keys. This PR enables these scenarios, even much more advanced ones, but for example:
* Install fiat offramp plugin
* Configure it
* You can now use the fiat offramp rate provider (no additional config steps beyond selecting the rate source from the select, or maybe the plugin would automatically set it for you once configured)

* Apply suggestions from code review

* Simplify

* Do not use BackgroundFetcherRateProvider for contextual rate prov

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-04-30 18:31:15 +09:00
nicolas.dorier
5c91e072a6
Prevent payout processors from stalling restart 2023-04-26 18:09:56 +09:00
nicolas.dorier
35aad4ebf9
Remove Logs static singletons 2021-11-23 13:55:34 +09:00
rockstardev
f88c02cccd Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
rockstardev
b6c7af32de Cleaning up bom from cs files 2020-06-28 21:44:35 -05:00
nicolas.dorier
51514252b6
Run dotnet format 2020-06-28 17:55:27 +09:00
nicolas.dorier
f2aab4cf03
Add warning if fail to load rates from cache 2020-02-16 23:04:48 +09:00
nicolas.dorier
c03dc48fe9
Do not crash if can't load rate cache 2020-02-16 22:07:56 +09:00
nicolas.dorier
25b733ca7f
Remove knowledge of ExchangeName from BackgroundRateFetcher 2020-01-18 19:42:46 +09:00
nicolas.dorier
9b165de5e6
Remove CoinAverage integration 2020-01-17 14:29:22 +09:00
nicolas.dorier
7d545ca682
Remove ability to set custom cache, fix coinaverage not really using coinaverage 2020-01-17 14:16:12 +09:00
nicolas.dorier
5dbdb4b399
Keep coinaverage compatibility, improve UX, hardcode feed provider supported exchanges 2020-01-13 23:37:01 +09:00
Kukks
58d9a48787
CoinGecko Rate Provider
The CoinGecko rate provider is similar to the bitcoin average one, in that you can ask it for a rate from its aggregated sourcing or you can get rates from specific exchanges. I've added support for both.
I haven't integrated it or replaced coinaverage just to see if we should use it as the default and switch everyone to it or what other action to take.
2020-01-13 20:20:00 +09:00
nicolas.dorier
731341b749
Do not preemptively fetch rates of all exchanges 2019-12-26 14:54:26 +09:00
nicolas.dorier
536f98b566
Fix entity framework queries to work in netcoreapp3.0 2019-10-06 15:48:12 +09:00
nicolas.dorier
e5a26cfca8 Update dependencies 2019-03-31 12:08:08 +09:00
nicolas.dorier
abbdbda03a Add Bitbank provider 2019-03-20 00:49:44 +09:00
nicolas.dorier
051248f2fc Add CancellationToken to GetRatesAsync and propagate it from the controllers to the rate fetcher 2019-03-05 17:09:17 +09:00
nicolas.dorier
b1584c352b Free some memory 2019-02-17 16:13:16 +09:00
nicolas.dorier
f12114f9aa Poll and cache rates in parallel 2018-08-23 00:24:33 +09:00
nicolas.dorier
87d384dba5 Decouple RateProviderFactory with RateFetcher 2018-08-22 16:53:40 +09:00
nicolas.dorier
e57a488371 Refactor the RateProvider 2018-05-03 03:32:42 +09:00
lepipele
042142396d Refactoring code to adhere to naming guidelines 2018-04-26 21:52:04 -05:00
lepipele
fbc4ca89aa Enapsulating Token per code review discussions 2018-04-26 21:44:21 -05:00
lepipele
ef0b8376d3 Abstracting hosted service that has listen loop tasks 2018-04-26 21:39:43 -05:00
nicolas.dorier
a7ad71d492 CoinAverage credentials are now correctly passed 2018-04-23 17:21:50 +09:00
nicolas.dorier
c9e5fe42ba Set default AvailableExchanges inside CoinAverageSettings 2018-04-23 16:12:11 +09:00
nicolas.dorier
56dffbf514 Set default exchange list 2018-04-23 16:09:18 +09:00
nicolas.dorier
e7c06880a8 Use API keys of bitcoinaverage for getting the exchange list 2018-04-23 15:48:18 +09:00
nicolas.dorier
10c981b2a0 Update NBXplorer 2018-04-19 16:54:25 +09:00
nicolas.dorier
73ed4003a3 Use a drop down for preferred exchange list 2018-04-18 16:38:56 +09:00
nicolas.dorier
5cb8cdd511 Refactoring: Do not query database when asking for Coinaverage rates, periodically get exchange list 2018-04-18 16:38:56 +09:00
nicolas.dorier
0723eec508 Fix rate handling 2018-04-15 21:21:57 +09:00
nicolas.dorier
85efc3b00c fix tests 2018-04-14 23:32:39 +09:00
nicolas.dorier
04c6107196 Can configure rate caching and bitcoinaverage API keys 2018-04-14 22:52:57 +09:00