diff --git a/src/main/java/org/qortal/asset/Asset.java b/src/main/java/org/qortal/asset/Asset.java index 53465423..c8df4565 100644 --- a/src/main/java/org/qortal/asset/Asset.java +++ b/src/main/java/org/qortal/asset/Asset.java @@ -8,7 +8,6 @@ import org.qortal.data.transaction.UpdateAssetTransactionData; import org.qortal.repository.DataException; import org.qortal.repository.Repository; import org.qortal.utils.Amounts; -import org.qortal.utils.Unicode; public class Asset { @@ -68,10 +67,6 @@ public class Asset { // Processing - public static String reduceName(String assetName) { - return Unicode.sanitize(assetName); - } - public void issue() throws DataException { this.repository.getAssetRepository().save(this.assetData); } diff --git a/src/main/java/org/qortal/data/transaction/CreateGroupTransactionData.java b/src/main/java/org/qortal/data/transaction/CreateGroupTransactionData.java index 4bcaa497..2471bb2f 100644 --- a/src/main/java/org/qortal/data/transaction/CreateGroupTransactionData.java +++ b/src/main/java/org/qortal/data/transaction/CreateGroupTransactionData.java @@ -8,9 +8,9 @@ import javax.xml.bind.annotation.XmlTransient; import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue; import org.qortal.block.GenesisBlock; -import org.qortal.group.Group; import org.qortal.group.Group.ApprovalThreshold; import org.qortal.transaction.Transaction.TransactionType; +import org.qortal.utils.Unicode; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema.AccessMode; @@ -67,7 +67,7 @@ public class CreateGroupTransactionData extends TransactionData { * then we need to construct 'reduced' group name. */ if (parent instanceof GenesisBlock.GenesisInfo && this.reducedGroupName == null) - this.reducedGroupName = Group.reduceName(this.groupName); + this.reducedGroupName = Unicode.sanitize(this.groupName); } /** From repository */ @@ -91,7 +91,8 @@ public class CreateGroupTransactionData extends TransactionData { public CreateGroupTransactionData(BaseTransactionData baseTransactionData, String groupName, String description, boolean isOpen, ApprovalThreshold approvalThreshold, int minimumBlockDelay, int maximumBlockDelay) { - this(baseTransactionData, groupName, description, isOpen, approvalThreshold, minimumBlockDelay, maximumBlockDelay, null, null); + this(baseTransactionData, groupName, description, isOpen, approvalThreshold, minimumBlockDelay, + maximumBlockDelay, null, Unicode.sanitize(groupName)); } // Getters / setters @@ -132,10 +133,6 @@ public class CreateGroupTransactionData extends TransactionData { return this.reducedGroupName; } - public void setReducedGroupName(String reducedGroupName) { - this.reducedGroupName = reducedGroupName; - } - // Re-expose creatorPublicKey for this transaction type for JAXB @XmlElement(name = "creatorPublicKey") @Schema(name = "creatorPublicKey", description = "group creator's public key", example = "2tiMr5LTpaWCgbRvkPK8TFd7k63DyHJMMFFsz9uBf1ZP") diff --git a/src/main/java/org/qortal/data/transaction/IssueAssetTransactionData.java b/src/main/java/org/qortal/data/transaction/IssueAssetTransactionData.java index f86b4071..b24a9634 100644 --- a/src/main/java/org/qortal/data/transaction/IssueAssetTransactionData.java +++ b/src/main/java/org/qortal/data/transaction/IssueAssetTransactionData.java @@ -8,9 +8,9 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue; import org.qortal.account.NullAccount; -import org.qortal.asset.Asset; import org.qortal.block.GenesisBlock; import org.qortal.transaction.Transaction.TransactionType; +import org.qortal.utils.Unicode; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema.AccessMode; @@ -76,7 +76,7 @@ public class IssueAssetTransactionData extends TransactionData { * then we need to construct 'reduced' form of asset name. */ if (parent instanceof GenesisBlock.GenesisInfo && this.reducedAssetName == null) - this.reducedAssetName = Asset.reduceName(this.assetName); + this.reducedAssetName = Unicode.sanitize(this.assetName); this.creatorPublicKey = this.issuerPublicKey; } @@ -101,7 +101,8 @@ public class IssueAssetTransactionData extends TransactionData { /** From network/API */ public IssueAssetTransactionData(BaseTransactionData baseTransactionData, String assetName, String description, long quantity, boolean isDivisible, String data, boolean isUnspendable) { - this(baseTransactionData, null, assetName, description, quantity, isDivisible, data, isUnspendable, null); + this(baseTransactionData, null, assetName, description, quantity, isDivisible, data, isUnspendable, + Unicode.sanitize(assetName)); } // Getters/Setters @@ -146,8 +147,4 @@ public class IssueAssetTransactionData extends TransactionData { return this.reducedAssetName; } - public void setReducedAssetName(String reducedAssetName) { - this.reducedAssetName = reducedAssetName; - } - } diff --git a/src/main/java/org/qortal/data/transaction/RegisterNameTransactionData.java b/src/main/java/org/qortal/data/transaction/RegisterNameTransactionData.java index 6f0ef214..d4455da1 100644 --- a/src/main/java/org/qortal/data/transaction/RegisterNameTransactionData.java +++ b/src/main/java/org/qortal/data/transaction/RegisterNameTransactionData.java @@ -6,8 +6,8 @@ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlTransient; import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue; -import org.qortal.naming.Name; import org.qortal.transaction.Transaction.TransactionType; +import org.qortal.utils.Unicode; import io.swagger.v3.oas.annotations.media.Schema; @@ -57,7 +57,7 @@ public class RegisterNameTransactionData extends TransactionData { /** From network */ public RegisterNameTransactionData(BaseTransactionData baseTransactionData, String name, String data) { - this(baseTransactionData, name, data, Name.reduceName(name)); + this(baseTransactionData, name, data, Unicode.sanitize(name)); } // Getters / setters @@ -78,8 +78,4 @@ public class RegisterNameTransactionData extends TransactionData { return this.reducedName; } - public void setReducedName(String reducedName) { - this.reducedName = reducedName; - } - } diff --git a/src/main/java/org/qortal/data/transaction/UpdateNameTransactionData.java b/src/main/java/org/qortal/data/transaction/UpdateNameTransactionData.java index 5d7e449a..43c8da59 100644 --- a/src/main/java/org/qortal/data/transaction/UpdateNameTransactionData.java +++ b/src/main/java/org/qortal/data/transaction/UpdateNameTransactionData.java @@ -5,8 +5,8 @@ import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlTransient; -import org.qortal.naming.Name; import org.qortal.transaction.Transaction.TransactionType; +import org.qortal.utils.Unicode; import io.swagger.v3.oas.annotations.media.Schema; @@ -64,7 +64,7 @@ public class UpdateNameTransactionData extends TransactionData { /** From network/API */ public UpdateNameTransactionData(BaseTransactionData baseTransactionData, String name, String newName, String newData) { - this(baseTransactionData, name, newName, newData, Name.reduceName(newName), null); + this(baseTransactionData, name, newName, newData, Unicode.sanitize(newName), null); } // Getters / setters @@ -89,10 +89,6 @@ public class UpdateNameTransactionData extends TransactionData { return this.reducedNewName; } - public void setReducedNewName(String reducedNewName) { - this.reducedNewName = reducedNewName; - } - public byte[] getNameReference() { return this.nameReference; } diff --git a/src/main/java/org/qortal/group/Group.java b/src/main/java/org/qortal/group/Group.java index a3cc017c..96c026b5 100644 --- a/src/main/java/org/qortal/group/Group.java +++ b/src/main/java/org/qortal/group/Group.java @@ -30,7 +30,6 @@ import org.qortal.data.transaction.UpdateGroupTransactionData; import org.qortal.repository.DataException; import org.qortal.repository.GroupRepository; import org.qortal.repository.Repository; -import org.qortal.utils.Unicode; public class Group { @@ -128,12 +127,6 @@ public class Group { return this.groupData; } - // Shortcuts to aid code clarity - - public static String reduceName(String name) { - return Unicode.sanitize(name); - } - // Membership private GroupMemberData getMember(String member) throws DataException { diff --git a/src/main/java/org/qortal/naming/Name.java b/src/main/java/org/qortal/naming/Name.java index b7570552..c372a8e3 100644 --- a/src/main/java/org/qortal/naming/Name.java +++ b/src/main/java/org/qortal/naming/Name.java @@ -60,10 +60,6 @@ public class Name { // Processing - public static String reduceName(String name) { - return Unicode.sanitize(name); - } - public void register() throws DataException { this.repository.getNameRepository().save(this.nameData); } diff --git a/src/main/java/org/qortal/transaction/CreateGroupTransaction.java b/src/main/java/org/qortal/transaction/CreateGroupTransaction.java index 17a0b052..63725cfb 100644 --- a/src/main/java/org/qortal/transaction/CreateGroupTransaction.java +++ b/src/main/java/org/qortal/transaction/CreateGroupTransaction.java @@ -40,15 +40,6 @@ public class CreateGroupTransaction extends Transaction { return this.getCreator(); } - private synchronized String getReducedGroupName() { - if (this.createGroupTransactionData.getReducedGroupName() == null) { - String reducedGroupName = Group.reduceName(this.createGroupTransactionData.getGroupName()); - this.createGroupTransactionData.setReducedGroupName(reducedGroupName); - } - - return this.createGroupTransactionData.getReducedGroupName(); - } - // Processing @Override @@ -89,16 +80,13 @@ public class CreateGroupTransaction extends Transaction { if (creator.getConfirmedBalance(Asset.QORT) < this.createGroupTransactionData.getFee()) return ValidationResult.NO_BALANCE; - // Fill in missing reduced name. Caller is likely to save this as next step. - getReducedGroupName(); - return ValidationResult.OK; } @Override public ValidationResult isProcessable() throws DataException { // Check the group name isn't already taken - if (this.repository.getGroupRepository().reducedGroupNameExists(getReducedGroupName())) + if (this.repository.getGroupRepository().reducedGroupNameExists(this.createGroupTransactionData.getReducedGroupName())) return ValidationResult.GROUP_ALREADY_EXISTS; return ValidationResult.OK; diff --git a/src/main/java/org/qortal/transaction/IssueAssetTransaction.java b/src/main/java/org/qortal/transaction/IssueAssetTransaction.java index 66d635e2..a562c7a5 100644 --- a/src/main/java/org/qortal/transaction/IssueAssetTransaction.java +++ b/src/main/java/org/qortal/transaction/IssueAssetTransaction.java @@ -7,7 +7,6 @@ import org.qortal.account.Account; import org.qortal.asset.Asset; import org.qortal.data.transaction.IssueAssetTransactionData; 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.Amounts; @@ -42,15 +41,6 @@ public class IssueAssetTransaction extends Transaction { return this.getCreator(); } - private String getReducedAssetName() { - if (this.issueAssetTransactionData.getReducedAssetName() == null) { - String reducedAssetName = Name.reduceName(this.issueAssetTransactionData.getAssetName()); - this.issueAssetTransactionData.setReducedAssetName(reducedAssetName); - } - - return this.issueAssetTransactionData.getReducedAssetName(); - } - // Processing @Override @@ -90,16 +80,13 @@ public class IssueAssetTransaction extends Transaction { if (issuer.getConfirmedBalance(Asset.QORT) < this.issueAssetTransactionData.getFee()) return ValidationResult.NO_BALANCE; - // Fill in missing reduced name. Caller is likely to save this as next step. - getReducedAssetName(); - return ValidationResult.OK; } @Override public ValidationResult isProcessable() throws DataException { // Check the name isn't already taken - if (this.repository.getAssetRepository().reducedAssetNameExists(getReducedAssetName())) + if (this.repository.getAssetRepository().reducedAssetNameExists(this.issueAssetTransactionData.getReducedAssetName())) return ValidationResult.ASSET_ALREADY_EXISTS; return ValidationResult.OK; diff --git a/src/main/java/org/qortal/transaction/RegisterNameTransaction.java b/src/main/java/org/qortal/transaction/RegisterNameTransaction.java index c0d91f0b..d02631c0 100644 --- a/src/main/java/org/qortal/transaction/RegisterNameTransaction.java +++ b/src/main/java/org/qortal/transaction/RegisterNameTransaction.java @@ -41,15 +41,6 @@ public class RegisterNameTransaction extends Transaction { return this.getCreator(); } - private synchronized String getReducedName() { - if (this.registerNameTransactionData.getReducedName() == null) { - String reducedName = Name.reduceName(this.registerNameTransactionData.getName()); - this.registerNameTransactionData.setReducedName(reducedName); - } - - return this.registerNameTransactionData.getReducedName(); - } - // Processing @Override @@ -75,16 +66,13 @@ public class RegisterNameTransaction extends Transaction { if (registrant.getConfirmedBalance(Asset.QORT) < this.registerNameTransactionData.getFee()) return ValidationResult.NO_BALANCE; - // Fill in missing reduced name. Caller is likely to save this as next step. - getReducedName(); - return ValidationResult.OK; } @Override public ValidationResult isProcessable() throws DataException { // Check the name isn't already taken - if (this.repository.getNameRepository().reducedNameExists(getReducedName())) + if (this.repository.getNameRepository().reducedNameExists(this.registerNameTransactionData.getReducedName())) return ValidationResult.NAME_ALREADY_REGISTERED; // If accounts are only allowed one registered name then check for this diff --git a/src/main/java/org/qortal/transaction/UpdateNameTransaction.java b/src/main/java/org/qortal/transaction/UpdateNameTransaction.java index f4cd3020..13c5f0fb 100644 --- a/src/main/java/org/qortal/transaction/UpdateNameTransaction.java +++ b/src/main/java/org/qortal/transaction/UpdateNameTransaction.java @@ -41,15 +41,6 @@ public class UpdateNameTransaction extends Transaction { return this.getCreator(); } - private synchronized String getReducedNewName() { - if (this.updateNameTransactionData.getReducedNewName() == null) { - String reducedNewName = Name.reduceName(this.updateNameTransactionData.getNewName()); - this.updateNameTransactionData.setReducedNewName(reducedNewName); - } - - return this.updateNameTransactionData.getReducedNewName(); - } - // Processing @Override @@ -99,9 +90,6 @@ public class UpdateNameTransaction extends Transaction { if (owner.getConfirmedBalance(Asset.QORT) < this.updateNameTransactionData.getFee()) return ValidationResult.NO_BALANCE; - // Fill in missing reduced new name. Caller is likely to save this as next step. - getReducedNewName(); - return ValidationResult.OK; } @@ -124,7 +112,7 @@ public class UpdateNameTransaction extends Transaction { return ValidationResult.INVALID_NAME_OWNER; // Check new name isn't already taken, unless it is the same name (this allows for case-adjusting renames) - NameData newNameData = this.repository.getNameRepository().fromReducedName(getReducedNewName()); + NameData newNameData = this.repository.getNameRepository().fromReducedName(this.updateNameTransactionData.getReducedNewName()); if (newNameData != null && !newNameData.getName().equals(nameData.getName())) return ValidationResult.NAME_ALREADY_REGISTERED;