mirror of
https://github.com/Qortal/qortal.git
synced 2025-02-12 10:15:49 +00:00
Unify transaction NAME_NOT_LOWER_CASE checks to Unicode NAME_NOT_NORMALIZED version
This commit is contained in:
parent
032c5d0d07
commit
b4284515e7
@ -13,6 +13,7 @@ import org.qortal.data.transaction.TransactionData;
|
||||
import org.qortal.naming.Name;
|
||||
import org.qortal.repository.DataException;
|
||||
import org.qortal.repository.Repository;
|
||||
import org.qortal.utils.Unicode;
|
||||
|
||||
import com.google.common.base.Utf8;
|
||||
|
||||
@ -58,9 +59,9 @@ public class BuyNameTransaction extends Transaction {
|
||||
if (nameLength < Name.MIN_NAME_SIZE || nameLength > Name.MAX_NAME_SIZE)
|
||||
return ValidationResult.INVALID_NAME_LENGTH;
|
||||
|
||||
// Check name is lowercase
|
||||
if (!name.equals(name.toLowerCase()))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!name.equals(Unicode.normalize(name)))
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
NameData nameData = this.repository.getNameRepository().fromName(name);
|
||||
|
||||
|
@ -11,6 +11,7 @@ import org.qortal.data.transaction.TransactionData;
|
||||
import org.qortal.naming.Name;
|
||||
import org.qortal.repository.DataException;
|
||||
import org.qortal.repository.Repository;
|
||||
import org.qortal.utils.Unicode;
|
||||
|
||||
import com.google.common.base.Utf8;
|
||||
|
||||
@ -51,9 +52,9 @@ public class CancelSellNameTransaction extends Transaction {
|
||||
if (nameLength < 1 || nameLength > Name.MAX_NAME_SIZE)
|
||||
return ValidationResult.INVALID_NAME_LENGTH;
|
||||
|
||||
// Check name is lowercase
|
||||
if (!name.equals(name.toLowerCase()))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!name.equals(Unicode.normalize(name)))
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
NameData nameData = this.repository.getNameRepository().fromName(name);
|
||||
|
||||
|
@ -72,7 +72,7 @@ public class CreateGroupTransaction extends Transaction {
|
||||
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!groupName.equals(Unicode.normalize(groupName)))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
Account creator = getCreator();
|
||||
|
||||
|
@ -12,6 +12,7 @@ import org.qortal.data.transaction.TransactionData;
|
||||
import org.qortal.data.voting.PollOptionData;
|
||||
import org.qortal.repository.DataException;
|
||||
import org.qortal.repository.Repository;
|
||||
import org.qortal.utils.Unicode;
|
||||
import org.qortal.voting.Poll;
|
||||
|
||||
import com.google.common.base.Utf8;
|
||||
@ -51,8 +52,9 @@ public class CreatePollTransaction extends Transaction {
|
||||
return ValidationResult.INVALID_ADDRESS;
|
||||
|
||||
// Check name size bounds
|
||||
int pollNameLength = Utf8.encodedLength(this.createPollTransactionData.getPollName());
|
||||
if (pollNameLength < 1 || pollNameLength > Poll.MAX_NAME_SIZE)
|
||||
String pollName = this.createPollTransactionData.getPollName();
|
||||
int pollNameLength = Utf8.encodedLength(pollName);
|
||||
if (pollNameLength < Poll.MIN_NAME_SIZE || pollNameLength > Poll.MAX_NAME_SIZE)
|
||||
return ValidationResult.INVALID_NAME_LENGTH;
|
||||
|
||||
// Check description size bounds
|
||||
@ -60,9 +62,9 @@ public class CreatePollTransaction extends Transaction {
|
||||
if (pollDescriptionLength < 1 || pollDescriptionLength > Poll.MAX_DESCRIPTION_SIZE)
|
||||
return ValidationResult.INVALID_DESCRIPTION_LENGTH;
|
||||
|
||||
// Check poll name is lowercase
|
||||
if (!this.createPollTransactionData.getPollName().equals(this.createPollTransactionData.getPollName().toLowerCase()))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!pollName.equals(Unicode.normalize(pollName)))
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
// Check number of options
|
||||
List<PollOptionData> pollOptions = this.createPollTransactionData.getPollOptions();
|
||||
|
@ -53,7 +53,7 @@ public class IssueAssetTransaction extends Transaction {
|
||||
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!assetName.equals(Unicode.normalize(assetName)))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
// Check description size bounds
|
||||
int assetDescriptionlength = Utf8.encodedLength(this.issueAssetTransactionData.getDescription());
|
||||
|
@ -60,7 +60,7 @@ public class RegisterNameTransaction extends Transaction {
|
||||
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!name.equals(Unicode.normalize(name)))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
// Check registrant has enough funds
|
||||
if (registrant.getConfirmedBalance(Asset.QORT) < this.registerNameTransactionData.getFee())
|
||||
|
@ -11,6 +11,7 @@ import org.qortal.data.transaction.TransactionData;
|
||||
import org.qortal.naming.Name;
|
||||
import org.qortal.repository.DataException;
|
||||
import org.qortal.repository.Repository;
|
||||
import org.qortal.utils.Unicode;
|
||||
|
||||
import com.google.common.base.Utf8;
|
||||
|
||||
@ -54,9 +55,9 @@ public class SellNameTransaction extends Transaction {
|
||||
if (nameLength < 1 || nameLength > Name.MAX_NAME_SIZE)
|
||||
return ValidationResult.INVALID_NAME_LENGTH;
|
||||
|
||||
// Check name is lowercase
|
||||
if (!name.equals(name.toLowerCase()))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!name.equals(Unicode.normalize(name)))
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
NameData nameData = this.repository.getNameRepository().fromName(name);
|
||||
|
||||
|
@ -169,7 +169,7 @@ public abstract class Transaction {
|
||||
BUYER_ALREADY_OWNER(14),
|
||||
INVALID_AMOUNT(15),
|
||||
INVALID_SELLER(16),
|
||||
NAME_NOT_LOWER_CASE(17),
|
||||
NAME_NOT_NORMALIZED(17),
|
||||
INVALID_DESCRIPTION_LENGTH(18),
|
||||
INVALID_OPTIONS_COUNT(19),
|
||||
INVALID_OPTION_LENGTH(20),
|
||||
|
@ -54,7 +54,7 @@ public class UpdateNameTransaction extends Transaction {
|
||||
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!name.equals(Unicode.normalize(name)))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
NameData nameData = this.repository.getNameRepository().fromName(name);
|
||||
|
||||
@ -76,7 +76,7 @@ public class UpdateNameTransaction extends Transaction {
|
||||
|
||||
// Check new name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!newName.equals(Unicode.normalize(newName)))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
}
|
||||
|
||||
// Check new data size bounds (0 length means don't update data)
|
||||
|
@ -15,6 +15,7 @@ import org.qortal.data.voting.VoteOnPollData;
|
||||
import org.qortal.repository.DataException;
|
||||
import org.qortal.repository.Repository;
|
||||
import org.qortal.repository.VotingRepository;
|
||||
import org.qortal.utils.Unicode;
|
||||
import org.qortal.voting.Poll;
|
||||
|
||||
import com.google.common.base.Utf8;
|
||||
@ -58,9 +59,9 @@ public class VoteOnPollTransaction extends Transaction {
|
||||
if (pollNameLength < 1 || pollNameLength > Poll.MAX_NAME_SIZE)
|
||||
return ValidationResult.INVALID_NAME_LENGTH;
|
||||
|
||||
// Check poll name is lowercase
|
||||
if (!pollName.equals(pollName.toLowerCase()))
|
||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||
if (!pollName.equals(Unicode.normalize(pollName)))
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
VotingRepository votingRepository = this.repository.getVotingRepository();
|
||||
|
||||
|
@ -12,6 +12,7 @@ public class Poll {
|
||||
private PollData pollData;
|
||||
|
||||
// Other useful constants
|
||||
public static final int MIN_NAME_SIZE = 3;
|
||||
public static final int MAX_NAME_SIZE = 400;
|
||||
public static final int MAX_DESCRIPTION_SIZE = 4000;
|
||||
public static final int MAX_OPTIONS = 100;
|
||||
|
Loading…
x
Reference in New Issue
Block a user