本文整理汇总了Java中nxt.util.Convert.safeMultiply方法的典型用法代码示例。如果您正苦于以下问题:Java Convert.safeMultiply方法的具体用法?Java Convert.safeMultiply怎么用?Java Convert.safeMultiply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nxt.util.Convert
的用法示例。
在下文中一共展示了Convert.safeMultiply方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doValidateAttachment
import nxt.util.Convert; //导入方法依赖的package包/类
@Override
void doValidateAttachment(Transaction transaction) throws NxtException.ValidationException {
Attachment.DigitalGoodsDelivery attachment = (Attachment.DigitalGoodsDelivery) transaction.getAttachment();
DigitalGoodsStore.Purchase purchase = DigitalGoodsStore.getPendingPurchase(attachment.getPurchaseId());
if (attachment.getGoods().getData().length > Constants.MAX_DGS_GOODS_LENGTH
|| attachment.getGoods().getData().length == 0
|| attachment.getGoods().getNonce().length != 32
|| attachment.getDiscountNQT() < 0 || attachment.getDiscountNQT() > Constants.MAX_BALANCE_NQT
|| (purchase != null &&
(purchase.getBuyerId() != transaction.getRecipientId()
|| transaction.getSenderId() != purchase.getSellerId()
|| attachment.getDiscountNQT() > Convert.safeMultiply(purchase.getPriceNQT(), purchase.getQuantity())))) {
throw new NxtException.NotValidException("Invalid digital goods delivery: " + attachment.getJSONObject());
}
if (purchase == null || purchase.getEncryptedGoods() != null) {
throw new NxtException.NotCurrentlyValidException("Purchase does not exist yet, or already delivered: "
+ attachment.getJSONObject());
}
}
示例2: applyAttachmentUnconfirmed
import nxt.util.Convert; //导入方法依赖的package包/类
@Override
boolean applyAttachmentUnconfirmed(Transaction transaction, Account senderAccount) {
Attachment.ColoredCoinsBidOrderPlacement attachment = (Attachment.ColoredCoinsBidOrderPlacement) transaction.getAttachment();
if (senderAccount.getUnconfirmedBalanceNQT() >= Convert.safeMultiply(attachment.getQuantityQNT(), attachment.getPriceNQT())) {
senderAccount.addToUnconfirmedBalanceNQT(-Convert.safeMultiply(attachment.getQuantityQNT(), attachment.getPriceNQT()));
return true;
}
return false;
}
示例3: getValues
import nxt.util.Convert; //导入方法依赖的package包/类
private Map<String,String> getValues(long accountId, Trade trade, boolean isAsk) {
Map<String,String> map = getValues(accountId, false);
map.put("asset", Convert.toUnsignedLong(trade.getAssetId()));
map.put("trade quantity", String.valueOf(isAsk ? - trade.getQuantityQNT() : trade.getQuantityQNT()));
map.put("trade price", String.valueOf(trade.getPriceNQT()));
long tradeCost = Convert.safeMultiply(trade.getQuantityQNT(), trade.getPriceNQT());
map.put("trade cost", String.valueOf((isAsk ? tradeCost : - tradeCost)));
map.put("event", "trade");
return map;
}
示例4: deliver
import nxt.util.Convert; //导入方法依赖的package包/类
static void deliver(Transaction transaction, Attachment.DigitalGoodsDelivery attachment) {
Purchase purchase = getPendingPurchase(attachment.getPurchaseId());
purchase.setPending(false);
long totalWithoutDiscount = Convert.safeMultiply(purchase.getQuantity(), purchase.getPriceNQT());
Account buyer = Account.getAccount(purchase.getBuyerId());
buyer.addToBalanceNQT(Convert.safeSubtract(attachment.getDiscountNQT(), totalWithoutDiscount));
buyer.addToUnconfirmedBalanceNQT(attachment.getDiscountNQT());
Account seller = Account.getAccount(transaction.getSenderId());
seller.addToBalanceAndUnconfirmedBalanceNQT(Convert.safeSubtract(totalWithoutDiscount, attachment.getDiscountNQT()));
purchase.setEncryptedGoods(attachment.getGoods(), attachment.goodsIsText());
purchase.setDiscountNQT(attachment.getDiscountNQT());
purchaseListeners.notify(purchase, Event.DELIVERY);
}