Browse Source

Rebuild name in ArbitraryTransaction.preProcess()

qdn-on-chain-data
CalDescent 2 years ago
parent
commit
0b05de22a0
  1. 9
      src/main/java/org/qortal/transaction/ArbitraryTransaction.java

9
src/main/java/org/qortal/transaction/ArbitraryTransaction.java

@ -9,6 +9,7 @@ import org.qortal.account.Account;
import org.qortal.block.BlockChain; import org.qortal.block.BlockChain;
import org.qortal.controller.arbitrary.ArbitraryDataManager; import org.qortal.controller.arbitrary.ArbitraryDataManager;
import org.qortal.controller.arbitrary.ArbitraryDataStorageManager; import org.qortal.controller.arbitrary.ArbitraryDataStorageManager;
import org.qortal.controller.repository.NamesDatabaseIntegrityCheck;
import org.qortal.crypto.Crypto; import org.qortal.crypto.Crypto;
import org.qortal.crypto.MemoryPoW; import org.qortal.crypto.MemoryPoW;
import org.qortal.data.PaymentData; import org.qortal.data.PaymentData;
@ -241,7 +242,13 @@ public class ArbitraryTransaction extends Transaction {
@Override @Override
public void preProcess() throws DataException { public void preProcess() throws DataException {
// Nothing to do ArbitraryTransactionData arbitraryTransactionData = (ArbitraryTransactionData) transactionData;
// Rebuild this name in the Names table from the transaction history
// This is necessary because in some rare cases names can be missing from the Names table after registration
// but we have been unable to reproduce the issue and track down the root cause
NamesDatabaseIntegrityCheck namesDatabaseIntegrityCheck = new NamesDatabaseIntegrityCheck();
namesDatabaseIntegrityCheck.rebuildName(arbitraryTransactionData.getName(), this.repository);
} }
@Override @Override

Loading…
Cancel
Save