btcpayserver/BTCPayServer.Rating/Providers
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
..
BackgroundFetcherRateProvider.cs Support pluginable rate providers (#5777) 2024-04-30 18:31:15 +09:00
BitbankRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
BitflyerRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
BitnobRateProvider.cs Bitnob rate provider (#5705) 2024-01-30 10:18:42 +09:00
BitpayRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
BTCTurkRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
BudaRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
ByllsRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
CoinGeckoRateProvider.cs Remove some useless intermediary type from Rate Source (#5351) 2023-09-26 16:37:40 +09:00
CryptoMarketExchangeRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
ExchangeSharpRateProvider.cs Register rate providers in DI, so it can be accessed by plugins (#4551) 2023-01-30 09:46:12 +09:00
FreeCurrencyRatesRateProvider.cs Fix currency-api link (#5803) 2024-03-04 10:10:30 +09:00
HitBTCRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
HttpClientRequestMaker.cs Bump and fix rate providers (#3813) 2022-06-06 18:56:50 +09:00
IRateProvider.cs Support pluginable rate providers (#5777) 2024-04-30 18:31:15 +09:00
KrakenExchangeRateProvider.cs Fix Kraken rate for LTC 2024-02-01 14:45:59 +09:00
NullRateProvider.cs Dotnet reformat 2023-04-10 11:07:03 +09:00
RipioExchangeProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00
YadioRateProvider.cs Improve exception message if Bitpay rates are unavailable 2023-12-19 11:44:10 +09:00