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:
parent
2b80385928
commit
d136815552
@ -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,
|
||||
|
@ -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());
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ import bisq.core.api.CoreApi;
|
||||
import bisq.core.api.model.OfferInfo;
|
||||
import bisq.core.offer.Offer;
|
||||
import bisq.core.offer.OpenOffer;
|
||||
|
||||
import bisq.core.util.ParsingUtils;
|
||||
import bisq.proto.grpc.CancelOfferReply;
|
||||
import bisq.proto.grpc.CancelOfferRequest;
|
||||
import bisq.proto.grpc.CreateOfferReply;
|
||||
@ -149,8 +149,8 @@ class GrpcOffersService extends OffersImplBase {
|
||||
req.getPrice(),
|
||||
req.getUseMarketBasedPrice(),
|
||||
req.getMarketPriceMargin(),
|
||||
req.getAmount(),
|
||||
req.getMinAmount(),
|
||||
ParsingUtils.atomicUnitsToCentineros(req.getAmount()), // scale atomic unit to centineros for consistency TODO switch base to atomic units?
|
||||
ParsingUtils.atomicUnitsToCentineros(req.getMinAmount()),
|
||||
req.getBuyerSecurityDeposit(),
|
||||
req.getTriggerPrice(),
|
||||
req.getPaymentAccountId(),
|
||||
|
Loading…
Reference in New Issue
Block a user