mirror of
https://github.com/Qortal/qortal.git
synced 2025-07-22 20:26:50 +00:00
Disallow registering/updating to a name that looks like an address
This commit is contained in:
@@ -6,6 +6,7 @@ import java.util.List;
|
||||
import org.qortal.account.Account;
|
||||
import org.qortal.asset.Asset;
|
||||
import org.qortal.block.BlockChain;
|
||||
import org.qortal.crypto.Crypto;
|
||||
import org.qortal.data.transaction.RegisterNameTransactionData;
|
||||
import org.qortal.data.transaction.TransactionData;
|
||||
import org.qortal.naming.Name;
|
||||
@@ -62,6 +63,10 @@ public class RegisterNameTransaction extends Transaction {
|
||||
if (!name.equals(Unicode.normalize(name)))
|
||||
return ValidationResult.NAME_NOT_NORMALIZED;
|
||||
|
||||
// Check name doesn't look like an address
|
||||
if (Crypto.isValidAddress(name))
|
||||
return ValidationResult.INVALID_ADDRESS;
|
||||
|
||||
// Check registrant has enough funds
|
||||
if (registrant.getConfirmedBalance(Asset.QORT) < this.registerNameTransactionData.getFee())
|
||||
return ValidationResult.NO_BALANCE;
|
||||
|
@@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import org.qortal.account.Account;
|
||||
import org.qortal.asset.Asset;
|
||||
import org.qortal.crypto.Crypto;
|
||||
import org.qortal.data.naming.NameData;
|
||||
import org.qortal.data.transaction.TransactionData;
|
||||
import org.qortal.data.transaction.UpdateNameTransactionData;
|
||||
@@ -77,6 +78,10 @@ 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_NORMALIZED;
|
||||
|
||||
// Check name doesn't look like an address
|
||||
if (Crypto.isValidAddress(newName))
|
||||
return ValidationResult.INVALID_ADDRESS;
|
||||
}
|
||||
|
||||
// Check new data size bounds (0 length means don't update data)
|
||||
|
@@ -41,7 +41,7 @@ public abstract class Unicode {
|
||||
buildHomoglyphCodePointArrays();
|
||||
}
|
||||
|
||||
/** Returns string in Unicode canonical normalized form (NFC),<br>
|
||||
/** Returns string in Unicode canonical normalized form (NFKC),<br>
|
||||
* with zero-width spaces/joiners removed,<br>
|
||||
* leading/trailing whitespace trimmed<br>
|
||||
* and all other whitespace blocks collapsed into a single space character.
|
||||
|
Reference in New Issue
Block a user