Browse Source

Litecoin: IsDust() detection disabled, allows any valid dust to be relayed. The fees imposed on each dust txo is considered sufficient spam deterrant.

0.8
Warren Togami 12 years ago
parent
commit
0d1d058451
  1. 12
      src/main.cpp
  2. 3
      src/test/transaction_tests.cpp

12
src/main.cpp

@ -362,15 +362,9 @@ unsigned int LimitOrphanTxSize(unsigned int nMaxOrphans)
bool CTxOut::IsDust() const bool CTxOut::IsDust() const
{ {
// "Dust" is defined in terms of CTransaction::nMinRelayTxFee, // Litecoin: IsDust() detection disabled, allows any valid dust to be relayed.
// which has units satoshis-per-kilobyte. // The fees imposed on each dust txo is considered sufficient spam deterrant.
// If you'd pay more than 1/3 in fees return false;
// to spend something, then we consider it dust.
// A typical txout is 33 bytes big, and will
// need a CTxIn of at least 148 bytes to spend,
// so dust is a txout less than 54 uBTC
// (5430 satoshis) with default nMinRelayTxFee
return ((nValue*1000)/(3*((int)GetSerializeSize(SER_DISK,0)+148)) < CTransaction::nMinRelayTxFee);
} }
bool CTransaction::IsStandard() const bool CTransaction::IsStandard() const

3
src/test/transaction_tests.cpp

@ -263,7 +263,8 @@ BOOST_AUTO_TEST_CASE(test_IsStandard)
BOOST_CHECK(t.IsStandard()); BOOST_CHECK(t.IsStandard());
t.vout[0].nValue = 5011; // dust t.vout[0].nValue = 5011; // dust
BOOST_CHECK(!t.IsStandard()); // Litecoin does not enforce isDust(). Per dust fees are considered sufficient as deterrant.
// BOOST_CHECK(!t.IsStandard());
t.vout[0].nValue = 6011; // not dust t.vout[0].nValue = 6011; // not dust
BOOST_CHECK(t.IsStandard()); BOOST_CHECK(t.IsStandard());

Loading…
Cancel
Save