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.naming.Name;
|
||||||
import org.qortal.repository.DataException;
|
import org.qortal.repository.DataException;
|
||||||
import org.qortal.repository.Repository;
|
import org.qortal.repository.Repository;
|
||||||
|
import org.qortal.utils.Unicode;
|
||||||
|
|
||||||
import com.google.common.base.Utf8;
|
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)
|
if (nameLength < Name.MIN_NAME_SIZE || nameLength > Name.MAX_NAME_SIZE)
|
||||||
return ValidationResult.INVALID_NAME_LENGTH;
|
return ValidationResult.INVALID_NAME_LENGTH;
|
||||||
|
|
||||||
// Check name is lowercase
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!name.equals(name.toLowerCase()))
|
if (!name.equals(Unicode.normalize(name)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
NameData nameData = this.repository.getNameRepository().fromName(name);
|
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.naming.Name;
|
||||||
import org.qortal.repository.DataException;
|
import org.qortal.repository.DataException;
|
||||||
import org.qortal.repository.Repository;
|
import org.qortal.repository.Repository;
|
||||||
|
import org.qortal.utils.Unicode;
|
||||||
|
|
||||||
import com.google.common.base.Utf8;
|
import com.google.common.base.Utf8;
|
||||||
|
|
||||||
@ -51,9 +52,9 @@ public class CancelSellNameTransaction extends Transaction {
|
|||||||
if (nameLength < 1 || nameLength > Name.MAX_NAME_SIZE)
|
if (nameLength < 1 || nameLength > Name.MAX_NAME_SIZE)
|
||||||
return ValidationResult.INVALID_NAME_LENGTH;
|
return ValidationResult.INVALID_NAME_LENGTH;
|
||||||
|
|
||||||
// Check name is lowercase
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!name.equals(name.toLowerCase()))
|
if (!name.equals(Unicode.normalize(name)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
NameData nameData = this.repository.getNameRepository().fromName(name);
|
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.)
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!groupName.equals(Unicode.normalize(groupName)))
|
if (!groupName.equals(Unicode.normalize(groupName)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
Account creator = getCreator();
|
Account creator = getCreator();
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ import org.qortal.data.transaction.TransactionData;
|
|||||||
import org.qortal.data.voting.PollOptionData;
|
import org.qortal.data.voting.PollOptionData;
|
||||||
import org.qortal.repository.DataException;
|
import org.qortal.repository.DataException;
|
||||||
import org.qortal.repository.Repository;
|
import org.qortal.repository.Repository;
|
||||||
|
import org.qortal.utils.Unicode;
|
||||||
import org.qortal.voting.Poll;
|
import org.qortal.voting.Poll;
|
||||||
|
|
||||||
import com.google.common.base.Utf8;
|
import com.google.common.base.Utf8;
|
||||||
@ -51,8 +52,9 @@ public class CreatePollTransaction extends Transaction {
|
|||||||
return ValidationResult.INVALID_ADDRESS;
|
return ValidationResult.INVALID_ADDRESS;
|
||||||
|
|
||||||
// Check name size bounds
|
// Check name size bounds
|
||||||
int pollNameLength = Utf8.encodedLength(this.createPollTransactionData.getPollName());
|
String pollName = this.createPollTransactionData.getPollName();
|
||||||
if (pollNameLength < 1 || pollNameLength > Poll.MAX_NAME_SIZE)
|
int pollNameLength = Utf8.encodedLength(pollName);
|
||||||
|
if (pollNameLength < Poll.MIN_NAME_SIZE || pollNameLength > Poll.MAX_NAME_SIZE)
|
||||||
return ValidationResult.INVALID_NAME_LENGTH;
|
return ValidationResult.INVALID_NAME_LENGTH;
|
||||||
|
|
||||||
// Check description size bounds
|
// Check description size bounds
|
||||||
@ -60,9 +62,9 @@ public class CreatePollTransaction extends Transaction {
|
|||||||
if (pollDescriptionLength < 1 || pollDescriptionLength > Poll.MAX_DESCRIPTION_SIZE)
|
if (pollDescriptionLength < 1 || pollDescriptionLength > Poll.MAX_DESCRIPTION_SIZE)
|
||||||
return ValidationResult.INVALID_DESCRIPTION_LENGTH;
|
return ValidationResult.INVALID_DESCRIPTION_LENGTH;
|
||||||
|
|
||||||
// Check poll name is lowercase
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!this.createPollTransactionData.getPollName().equals(this.createPollTransactionData.getPollName().toLowerCase()))
|
if (!pollName.equals(Unicode.normalize(pollName)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
// Check number of options
|
// Check number of options
|
||||||
List<PollOptionData> pollOptions = this.createPollTransactionData.getPollOptions();
|
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.)
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!assetName.equals(Unicode.normalize(assetName)))
|
if (!assetName.equals(Unicode.normalize(assetName)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
// Check description size bounds
|
// Check description size bounds
|
||||||
int assetDescriptionlength = Utf8.encodedLength(this.issueAssetTransactionData.getDescription());
|
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.)
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!name.equals(Unicode.normalize(name)))
|
if (!name.equals(Unicode.normalize(name)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
// Check registrant has enough funds
|
// Check registrant has enough funds
|
||||||
if (registrant.getConfirmedBalance(Asset.QORT) < this.registerNameTransactionData.getFee())
|
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.naming.Name;
|
||||||
import org.qortal.repository.DataException;
|
import org.qortal.repository.DataException;
|
||||||
import org.qortal.repository.Repository;
|
import org.qortal.repository.Repository;
|
||||||
|
import org.qortal.utils.Unicode;
|
||||||
|
|
||||||
import com.google.common.base.Utf8;
|
import com.google.common.base.Utf8;
|
||||||
|
|
||||||
@ -54,9 +55,9 @@ public class SellNameTransaction extends Transaction {
|
|||||||
if (nameLength < 1 || nameLength > Name.MAX_NAME_SIZE)
|
if (nameLength < 1 || nameLength > Name.MAX_NAME_SIZE)
|
||||||
return ValidationResult.INVALID_NAME_LENGTH;
|
return ValidationResult.INVALID_NAME_LENGTH;
|
||||||
|
|
||||||
// Check name is lowercase
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!name.equals(name.toLowerCase()))
|
if (!name.equals(Unicode.normalize(name)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
NameData nameData = this.repository.getNameRepository().fromName(name);
|
NameData nameData = this.repository.getNameRepository().fromName(name);
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ public abstract class Transaction {
|
|||||||
BUYER_ALREADY_OWNER(14),
|
BUYER_ALREADY_OWNER(14),
|
||||||
INVALID_AMOUNT(15),
|
INVALID_AMOUNT(15),
|
||||||
INVALID_SELLER(16),
|
INVALID_SELLER(16),
|
||||||
NAME_NOT_LOWER_CASE(17),
|
NAME_NOT_NORMALIZED(17),
|
||||||
INVALID_DESCRIPTION_LENGTH(18),
|
INVALID_DESCRIPTION_LENGTH(18),
|
||||||
INVALID_OPTIONS_COUNT(19),
|
INVALID_OPTIONS_COUNT(19),
|
||||||
INVALID_OPTION_LENGTH(20),
|
INVALID_OPTION_LENGTH(20),
|
||||||
|
@ -54,7 +54,7 @@ public class UpdateNameTransaction extends Transaction {
|
|||||||
|
|
||||||
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!name.equals(Unicode.normalize(name)))
|
if (!name.equals(Unicode.normalize(name)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
NameData nameData = this.repository.getNameRepository().fromName(name);
|
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.)
|
// Check new name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!newName.equals(Unicode.normalize(newName)))
|
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)
|
// 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.DataException;
|
||||||
import org.qortal.repository.Repository;
|
import org.qortal.repository.Repository;
|
||||||
import org.qortal.repository.VotingRepository;
|
import org.qortal.repository.VotingRepository;
|
||||||
|
import org.qortal.utils.Unicode;
|
||||||
import org.qortal.voting.Poll;
|
import org.qortal.voting.Poll;
|
||||||
|
|
||||||
import com.google.common.base.Utf8;
|
import com.google.common.base.Utf8;
|
||||||
@ -58,9 +59,9 @@ public class VoteOnPollTransaction extends Transaction {
|
|||||||
if (pollNameLength < 1 || pollNameLength > Poll.MAX_NAME_SIZE)
|
if (pollNameLength < 1 || pollNameLength > Poll.MAX_NAME_SIZE)
|
||||||
return ValidationResult.INVALID_NAME_LENGTH;
|
return ValidationResult.INVALID_NAME_LENGTH;
|
||||||
|
|
||||||
// Check poll name is lowercase
|
// Check name is in normalized form (no leading/trailing whitespace, etc.)
|
||||||
if (!pollName.equals(pollName.toLowerCase()))
|
if (!pollName.equals(Unicode.normalize(pollName)))
|
||||||
return ValidationResult.NAME_NOT_LOWER_CASE;
|
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||||
|
|
||||||
VotingRepository votingRepository = this.repository.getVotingRepository();
|
VotingRepository votingRepository = this.repository.getVotingRepository();
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ public class Poll {
|
|||||||
private PollData pollData;
|
private PollData pollData;
|
||||||
|
|
||||||
// Other useful constants
|
// Other useful constants
|
||||||
|
public static final int MIN_NAME_SIZE = 3;
|
||||||
public static final int MAX_NAME_SIZE = 400;
|
public static final int MAX_NAME_SIZE = 400;
|
||||||
public static final int MAX_DESCRIPTION_SIZE = 4000;
|
public static final int MAX_DESCRIPTION_SIZE = 4000;
|
||||||
public static final int MAX_OPTIONS = 100;
|
public static final int MAX_OPTIONS = 100;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user