support creating offer from grpc api

fee payment currency is xmr
scale atomic units from grpc api to centineros for consistency
implement ParsingUtils.atomicUnitsToCentineros()
This commit is contained in:
woodser 2021-09-13 18:11:06 -04:00
parent 2b80385928
commit d136815552
3 changed files with 16 additions and 4 deletions

View file

@ -91,7 +91,7 @@ public class OfferUtil {
private final TradeStatisticsManager tradeStatisticsManager;
private final Predicate<String> isValidFeePaymentCurrencyCode = (c) ->
c.equalsIgnoreCase("BSQ") || c.equalsIgnoreCase("BTC");
c.equalsIgnoreCase("XMR");
@Inject
public OfferUtil(AccountAgeWitnessService accountAgeWitnessService,

View file

@ -19,6 +19,8 @@ public class ParsingUtils {
/**
* Multiplier to convert centineros (the base XMR unit of Coin) to atomic units.
*
* TODO: change base unit to atomic units and long
*/
private static BigInteger CENTINEROS_AU_MULTIPLIER = BigInteger.valueOf(10000);
@ -42,6 +44,16 @@ public class ParsingUtils {
return BigInteger.valueOf(centineros).multiply(ParsingUtils.CENTINEROS_AU_MULTIPLIER);
}
/**
* Convert atomic units to centineros.
*
* @param atomicUnits is an amount in atomic units
* @return the amount in centineros
*/
public static long atomicUnitsToCentineros(long atomicUnits) {
return atomicUnits / CENTINEROS_AU_MULTIPLIER.longValue();
}
public static Coin parseToCoin(String input, CoinFormatter coinFormatter) {
return parseToCoin(input, coinFormatter.getMonetaryFormat());
}