--- a/main.cpp Sun Dec 12 12:38:02 2010 +++ b/main.cpp Sun Dec 12 13:20:58 2010 @@ -573,12 +573,12 @@ // Safety limits unsigned int nSize = ::GetSerializeSize(*this, SER_NETWORK); - if (GetSigOpCount() > 2 || nSize < 100) - return error("AcceptToMemoryPool() : nonstandard transaction"); + //if (GetSigOpCount() > 2 || nSize < 100) + // return error("AcceptToMemoryPool() : nonstandard transaction"); // Rather not work on nonstandard transactions - if (!IsStandard()) - return error("AcceptToMemoryPool() : nonstandard transaction type"); + //if (!IsStandard()) + // return error("AcceptToMemoryPool() : nonstandard transaction type"); // Do we already have it? uint256 hash = GetHash(); @@ -630,8 +630,8 @@ } // Don't accept it if it can't get into a block - if (nFees < GetMinFee(1000)) - return error("AcceptToMemoryPool() : not enough fees"); + //if (nFees < GetMinFee(1000)) + // return error("AcceptToMemoryPool() : not enough fees"); // Limit free transactions per 10 minutes if (nFees < CENT && GetBoolArg("-limitfreerelay")) @@ -3231,7 +3231,7 @@ continue; // Transaction fee required depends on block size - bool fAllowFree = (nBlockSize + nTxSize < 4000 || dPriority > COIN * 144 / 250); + bool fAllowFree = ((nBlockSize + nTxSize < 4000 || dPriority > COIN * 144 / 250) && tx.IsStandard()); int64 nMinFee = tx.GetMinFee(nBlockSize, fAllowFree); // Connecting shouldn't fail due to dependency on other memory pool transactions