Browse Source

Apply the address blacklist to chat transactions.

This is based on code originally written by @DrewMPeacock
lists
CalDescent 3 years ago
parent
commit
b29ae67501
  1. 7
      src/main/java/org/qortal/transaction/ChatTransaction.java
  2. 1
      src/main/java/org/qortal/transaction/Transaction.java

7
src/main/java/org/qortal/transaction/ChatTransaction.java

@ -11,6 +11,7 @@ import org.qortal.crypto.MemoryPoW;
import org.qortal.data.transaction.ChatTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.group.Group;
import org.qortal.list.ResourceListManager;
import org.qortal.repository.DataException;
import org.qortal.repository.GroupRepository;
import org.qortal.repository.Repository;
@ -138,6 +139,12 @@ public class ChatTransaction extends Transaction {
public ValidationResult isValid() throws DataException {
// Nonce checking is done via isSignatureValid() as that method is only called once per import
// Check for blacklisted author by address
ResourceListManager listManager = ResourceListManager.getInstance();
if (listManager.isAddressInBlacklist(this.chatTransactionData.getSender())) {
return ValidationResult.ADDRESS_IN_BLACKLIST;
}
// If we exist in the repository then we've been imported as unconfirmed,
// but we don't want to make it into a block, so return fake non-OK result.
if (this.repository.getTransactionRepository().exists(this.chatTransactionData.getSignature()))

1
src/main/java/org/qortal/transaction/Transaction.java

@ -247,6 +247,7 @@ public abstract class Transaction {
INVALID_GROUP_BLOCK_DELAY(93),
INCORRECT_NONCE(94),
INVALID_TIMESTAMP_SIGNATURE(95),
ADDRESS_IN_BLACKLIST(96),
INVALID_BUT_OK(999),
NOT_YET_RELEASED(1000);

Loading…
Cancel
Save