Exemplo n.º 1
0
 private void checkTxs(List<Transaction> transactions, String block) {
   final InstantXManager.TxConflictResult cnfResult =
       network.getInstantXManager().checkTransactionsConflict(transactions);
   if (cnfResult.isConflicted()) {
     throw new VerificationException(
         "Transaction "
             + cnfResult.conflictedTx
             + " from block "
             + block
             + " is conflicting with already locked tx "
             + cnfResult.lockedTx);
   }
 }
Exemplo n.º 2
0
 @Override
 public void verifyBlockAddition(
     Block added,
     @Nullable List<Sha256Hash> filteredTxHashList,
     @Nullable Map<Sha256Hash, Transaction> filteredTxn) {
   if (network.permitsMasternodesLogic()
       && network.getSporkManager().isSporkActive(SporkManager.SPORK_3_INSTANTX_BLOCK_FILTERING)) {
     if (filteredTxHashList != null && filteredTxn != null) {
       List<Transaction> toCheck = Lists.newArrayListWithExpectedSize(filteredTxn.size());
       for (final Sha256Hash txHash : filteredTxHashList) {
         final Transaction tx = filteredTxn.get(txHash);
         if (tx != null) toCheck.add(tx);
       }
       if (toCheck.size() > 0) {
         checkTxs(toCheck, added.getHashAsString());
       }
     } else {
       final List<Transaction> transactions = added.getTransactions();
       if (transactions != null) {
         checkTxs(transactions, added.getHashAsString());
       }
     }
   }
 }