Skip to content

Commit 5f8a977

Browse files
authored
CF-934: Add support for a custom Fiat exchange rate provider (#1110)
1 parent 89f0369 commit 5f8a977

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

server_extensions_api/src/main/java/com/generalbytes/batm/server/extensions/IExtension.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,4 +224,14 @@ default Set<ITravelRuleProviderFactory> getTravelRuleProviderFactories() {
224224
*/
225225
Set<IWalletTypeEvaluationProvider> getWalletTypeEvaluationProviders();
226226

227+
/**
228+
* Get fiat exchange rate providers.
229+
*
230+
* @return Set of fiat exchange rate providers.
231+
* @see IFiatExchangeRateProvider
232+
*/
233+
default Set<IFiatExchangeRateProvider> getFiatExchangeRateProviders() {
234+
return Collections.emptySet();
235+
}
236+
227237
}

server_extensions_api/src/main/java/com/generalbytes/batm/server/extensions/IFiatExchangeRateProvider.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,19 @@
2323

2424
public interface IFiatExchangeRateProvider {
2525
public Set<String> getFiatCurrenciesFrom();
26+
2627
public Set<String> getFiatCurrenciesTo();
2728

2829
public BigDecimal getRate(String fromCurrency, String toCurrency);
30+
31+
/**
32+
* Determines the priority of this exchange rate provider in relation to other providers.
33+
* Higher weight value indicates higher priority when multiple providers are available.
34+
* Built-in providers have a weight value of {@code 0}.
35+
*
36+
* @return Weight value indicating the provider's priority. Returns {@code 0} if no specific priority is set.
37+
*/
38+
default int getPriorityWeight() {
39+
return 0;
40+
}
2941
}

0 commit comments

Comments
 (0)