--- a/main.cpp Tue Dec 07 07:43:31 2010 +++ b/main.cpp Fri Dec 10 17:09:07 2010 @@ -572,8 +572,8 @@ return error("AcceptToMemoryPool() : not accepting nLockTime beyond 2038 yet"); // Rather not work on nonstandard transactions - if (!IsStandard() || GetSigOpCount() > 2 || ::GetSerializeSize(*this, SER_NETWORK) < 100) - return error("AcceptToMemoryPool() : nonstandard transaction"); + //if (!IsStandard() || GetSigOpCount() > 2 || ::GetSerializeSize(*this, SER_NETWORK) < 100) + // return error("AcceptToMemoryPool() : nonstandard transaction"); // Do we already have it? uint256 hash = GetHash(); @@ -3205,7 +3205,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