mirror of
https://github.com/Qortal/qortal.git
synced 2025-04-23 11:27:51 +00:00
Important FIX to payment-related isValid()!
Non-native-coin payments (e.g. transfer-asset) didn't build map for checking whether sender had enough balance. Also fixed raw layout description for TRANSFER_ASSET. Also fixed ISSUE_ASSET deserialization to use empty string (instead of null) for v1 transactions.
This commit is contained in:
parent
eb038b8f31
commit
2a45e27048
@ -79,7 +79,7 @@ public class Payment {
|
|||||||
return ValidationResult.INVALID_AMOUNT;
|
return ValidationResult.INVALID_AMOUNT;
|
||||||
|
|
||||||
// Set or add amount into amounts-by-asset map
|
// Set or add amount into amounts-by-asset map
|
||||||
amountsByAssetId.compute(paymentData.getAssetId(), (assetId, amount) -> amount == null ? amount : amount.add(paymentData.getAmount()));
|
amountsByAssetId.compute(paymentData.getAssetId(), (assetId, amount) -> amount == null ? paymentData.getAmount() : amount.add(paymentData.getAmount()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check sender has enough of each asset
|
// Check sender has enough of each asset
|
||||||
|
@ -76,7 +76,7 @@ public class IssueAssetTransactionTransformer extends TransactionTransformer {
|
|||||||
boolean isDivisible = byteBuffer.get() != 0;
|
boolean isDivisible = byteBuffer.get() != 0;
|
||||||
|
|
||||||
// in v2, assets have "data" field
|
// in v2, assets have "data" field
|
||||||
String data = null;
|
String data = "";
|
||||||
if (timestamp >= BlockChain.getInstance().getQoraV2Timestamp())
|
if (timestamp >= BlockChain.getInstance().getQoraV2Timestamp())
|
||||||
data = Serialization.deserializeSizedString(byteBuffer, Asset.MAX_DATA_SIZE);
|
data = Serialization.deserializeSizedString(byteBuffer, Asset.MAX_DATA_SIZE);
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ public class TransferAssetTransactionTransformer extends TransactionTransformer
|
|||||||
layout.add("transaction's groupID", TransformationType.INT);
|
layout.add("transaction's groupID", TransformationType.INT);
|
||||||
layout.add("reference", TransformationType.SIGNATURE);
|
layout.add("reference", TransformationType.SIGNATURE);
|
||||||
layout.add("asset owner's public key", TransformationType.PUBLIC_KEY);
|
layout.add("asset owner's public key", TransformationType.PUBLIC_KEY);
|
||||||
layout.add("asset's new owner", TransformationType.ADDRESS);
|
layout.add("asset quantity", TransformationType.ASSET_QUANTITY);
|
||||||
layout.add("asset ID", TransformationType.LONG);
|
layout.add("asset ID", TransformationType.LONG);
|
||||||
layout.add("fee", TransformationType.AMOUNT);
|
layout.add("fee", TransformationType.AMOUNT);
|
||||||
layout.add("signature", TransformationType.SIGNATURE);
|
layout.add("signature", TransformationType.SIGNATURE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user