From 2602bb01e1a18f6a2b0071c9fd496e175b9a097a Mon Sep 17 00:00:00 2001 From: catbref Date: Mon, 27 Apr 2020 16:04:19 +0100 Subject: [PATCH] Limit both divisible & indivisible asset quantites to 1e10 (with 8dp) to fit into 8byte long --- src/main/java/org/qortal/asset/Asset.java | 3 +-- .../java/org/qortal/transaction/IssueAssetTransaction.java | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/qortal/asset/Asset.java b/src/main/java/org/qortal/asset/Asset.java index 26ca54ae..e26dd029 100644 --- a/src/main/java/org/qortal/asset/Asset.java +++ b/src/main/java/org/qortal/asset/Asset.java @@ -25,8 +25,7 @@ public class Asset { public static final int MAX_DESCRIPTION_SIZE = 4000; public static final int MAX_DATA_SIZE = 400000; - public static final long MAX_DIVISIBLE_QUANTITY = 10_000_000_000L; // but also to 8 decimal places - public static final long MAX_INDIVISIBLE_QUANTITY = 1_000_000_000_000_000_000L; + public static final long MAX_QUANTITY = 10_000_000_000L; // but also to 8 decimal places // Properties private Repository repository; diff --git a/src/main/java/org/qortal/transaction/IssueAssetTransaction.java b/src/main/java/org/qortal/transaction/IssueAssetTransaction.java index fafdaa13..db66ff0b 100644 --- a/src/main/java/org/qortal/transaction/IssueAssetTransaction.java +++ b/src/main/java/org/qortal/transaction/IssueAssetTransaction.java @@ -95,9 +95,8 @@ public class IssueAssetTransaction extends Transaction { if (assetDescriptionlength < 1 || assetDescriptionlength > Asset.MAX_DESCRIPTION_SIZE) return ValidationResult.INVALID_DESCRIPTION_LENGTH; - // Check quantity - either 10 billion or if that's not enough: a billion billion! - long maxQuantity = issueAssetTransactionData.getIsDivisible() ? Asset.MAX_DIVISIBLE_QUANTITY : Asset.MAX_INDIVISIBLE_QUANTITY; - if (issueAssetTransactionData.getQuantity() < 1 || issueAssetTransactionData.getQuantity() > maxQuantity) + // Check quantity + if (issueAssetTransactionData.getQuantity() < 1 || issueAssetTransactionData.getQuantity() > Asset.MAX_QUANTITY) return ValidationResult.INVALID_QUANTITY; // Check fee is positive