mirror of
https://github.com/haveno-dex/haveno.git
synced 2024-11-16 15:58:08 +00:00
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
3 changed files with 16 additions and 4 deletions
|
@ -91,7 +91,7 @@ public class OfferUtil {
|
||||||
private final TradeStatisticsManager tradeStatisticsManager;
|
private final TradeStatisticsManager tradeStatisticsManager;
|
||||||
|
|
||||||
private final Predicate<String> isValidFeePaymentCurrencyCode = (c) ->
|
private final Predicate<String> isValidFeePaymentCurrencyCode = (c) ->
|
||||||
c.equalsIgnoreCase("BSQ") || c.equalsIgnoreCase("BTC");
|
c.equalsIgnoreCase("XMR");
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public OfferUtil(AccountAgeWitnessService accountAgeWitnessService,
|
public OfferUtil(AccountAgeWitnessService accountAgeWitnessService,
|
||||||
|
|
|
@ -19,6 +19,8 @@ public class ParsingUtils {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Multiplier to convert centineros (the base XMR unit of Coin) to atomic units.
|
* 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);
|
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);
|
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) {
|
public static Coin parseToCoin(String input, CoinFormatter coinFormatter) {
|
||||||
return parseToCoin(input, coinFormatter.getMonetaryFormat());
|
return parseToCoin(input, coinFormatter.getMonetaryFormat());
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ import bisq.core.api.CoreApi;
|
||||||
import bisq.core.api.model.OfferInfo;
|
import bisq.core.api.model.OfferInfo;
|
||||||
import bisq.core.offer.Offer;
|
import bisq.core.offer.Offer;
|
||||||
import bisq.core.offer.OpenOffer;
|
import bisq.core.offer.OpenOffer;
|
||||||
|
import bisq.core.util.ParsingUtils;
|
||||||
import bisq.proto.grpc.CancelOfferReply;
|
import bisq.proto.grpc.CancelOfferReply;
|
||||||
import bisq.proto.grpc.CancelOfferRequest;
|
import bisq.proto.grpc.CancelOfferRequest;
|
||||||
import bisq.proto.grpc.CreateOfferReply;
|
import bisq.proto.grpc.CreateOfferReply;
|
||||||
|
@ -149,8 +149,8 @@ class GrpcOffersService extends OffersImplBase {
|
||||||
req.getPrice(),
|
req.getPrice(),
|
||||||
req.getUseMarketBasedPrice(),
|
req.getUseMarketBasedPrice(),
|
||||||
req.getMarketPriceMargin(),
|
req.getMarketPriceMargin(),
|
||||||
req.getAmount(),
|
ParsingUtils.atomicUnitsToCentineros(req.getAmount()), // scale atomic unit to centineros for consistency TODO switch base to atomic units?
|
||||||
req.getMinAmount(),
|
ParsingUtils.atomicUnitsToCentineros(req.getMinAmount()),
|
||||||
req.getBuyerSecurityDeposit(),
|
req.getBuyerSecurityDeposit(),
|
||||||
req.getTriggerPrice(),
|
req.getTriggerPrice(),
|
||||||
req.getPaymentAccountId(),
|
req.getPaymentAccountId(),
|
||||||
|
|
Loading…
Reference in a new issue