Remove unused transaction code.

This commit is contained in:
Howard Hinnant
2014-10-02 17:14:56 -04:00
committed by Nik Bougalis
parent 8835af11d5
commit 8e9efb4ceb
3 changed files with 1 additions and 190 deletions

View File

@@ -156,7 +156,7 @@ private:
TxType mType;
TxFormats::Item const* mFormat;
SerializedTransaction* duplicate () const
SerializedTransaction* duplicate () const override
{
return new SerializedTransaction (*this);
}

View File

@@ -62,59 +62,6 @@ Transaction::pointer Transaction::sharedTransaction (
}
}
//
// Generic transaction construction
//
Transaction::Transaction (
TxType ttKind,
RippleAddress const& naPublicKey,
RippleAddress const& naSourceAccount,
std::uint32_t uSeq,
STAmount const& saFee,
std::uint32_t uSourceTag)
: mAccountFrom (naSourceAccount),
mFromPubKey (naPublicKey),
mInLedger (0),
mStatus (NEW),
mResult (temUNCERTAIN)
{
assert (mFromPubKey.isValid ());
mTransaction = std::make_shared<SerializedTransaction> (ttKind);
mTransaction->setSigningPubKey (mFromPubKey);
mTransaction->setSourceAccount (mAccountFrom);
mTransaction->setSequence (uSeq);
mTransaction->setTransactionFee (saFee);
if (uSourceTag)
{
mTransaction->makeFieldPresent (sfSourceTag);
mTransaction->setFieldU32 (sfSourceTag, uSourceTag);
}
}
bool Transaction::sign (RippleAddress const& naAccountPrivate)
{
bool bResult = naAccountPrivate.isValid ();
if (!bResult)
{
WriteLog (lsWARNING, Ledger) << "No private key for signing";
}
getSTransaction ()->sign (naAccountPrivate);
if (bResult)
updateID ();
else
mStatus = INCOMPLETE;
return bResult;
}
//
// Misc.
//
@@ -279,78 +226,6 @@ Transaction::pointer Transaction::load (uint256 const& id)
return transactionFromSQL (sql);
}
bool Transaction::convertToTransactions (
std::uint32_t firstLedgerSeq,
std::uint32_t secondLedgerSeq,
Validate checkFirstTransactions,
Validate checkSecondTransactions,
const SHAMap::Delta& inMap,
std::map<uint256,
std::pair<Transaction::pointer, Transaction::pointer> >& outMap)
{
// Convert a straight SHAMap payload difference to a transaction difference
// table.
//
// return value: true=ledgers are valid, false=a ledger is invalid
for (auto it = inMap.begin (); it != inMap.end (); ++it)
{
uint256 const& id = it->first;
SHAMapItem::ref first = it->second.first;
SHAMapItem::ref second = it->second.second;
Transaction::pointer firstTrans, secondTrans;
if (first)
{
// transaction in our table
firstTrans = sharedTransaction (
first->peekData (), checkFirstTransactions);
if (firstTrans->getStatus () == INVALID ||
firstTrans->getID () != id )
{
firstTrans->setStatus (INVALID, firstLedgerSeq);
return false;
}
else firstTrans->setStatus (INCLUDED, firstLedgerSeq);
}
if (second)
{
// transaction in other table
secondTrans = sharedTransaction (
second->peekData (), checkSecondTransactions);
if (secondTrans->getStatus () == INVALID ||
secondTrans->getID () != id)
{
secondTrans->setStatus (INVALID, secondLedgerSeq);
return false;
}
else
{
secondTrans->setStatus (INCLUDED, secondLedgerSeq);
}
}
assert (firstTrans || secondTrans);
if (firstTrans && secondTrans &&
firstTrans->getStatus () != INVALID &&
secondTrans->getStatus () != INVALID)
{
// One or the other SHAMap is structurally invalid or a miracle has
// happened.
return false;
}
outMap[id] = {firstTrans, secondTrans};
}
return true;
}
// options 1 to include the date of the transaction
Json::Value Transaction::getJson (int options, bool binary) const
{

View File

@@ -62,25 +62,8 @@ public:
static Transaction::pointer sharedTransaction (Blob const&, Validate);
static Transaction::pointer transactionFromSQL (Database*, Validate);
Transaction (
TxType ttKind,
RippleAddress const& naPublicKey, // To prove transaction is
// consistent and authorized.
RippleAddress const& naSourceAccount, // To identify the paying account.
std::uint32_t uSeq, // To order transactions.
STAmount const& saFee, // Transaction fee.
std::uint32_t uSourceTag); // User call back value.
bool sign (const RippleAddress & naAccountPrivate);
bool checkSign () const;
void updateID ()
{
mTransactionID = mTransaction->getTransactionID ();
}
SerializedTransaction::ref getSTransaction ()
{
return mTransaction;
@@ -91,37 +74,6 @@ public:
return mTransactionID;
}
RippleAddress const& getFromAccount () const
{
return mAccountFrom;
}
STAmount getAmount () const
{
return mTransaction->getFieldU64 (sfAmount);
}
STAmount getFee () const
{
return mTransaction->getTransactionFee ();
}
std::uint32_t getFromAccountSeq () const
{
return mTransaction->getSequence ();
}
std::uint32_t getSourceTag () const
{
return mTransaction->getFieldU32 (sfSourceTag);
}
// VFALCO TODO Should this return a const reference?
Blob getSignature () const
{
return mTransaction->getSignature ();
}
LedgerIndex getLedger () const
{
return mInLedger;
@@ -154,26 +106,10 @@ public:
mInLedger = ledger;
}
bool operator< (const Transaction&) const;
bool operator> (const Transaction&) const;
bool operator== (const Transaction&) const;
bool operator!= (const Transaction&) const;
bool operator<= (const Transaction&) const;
bool operator>= (const Transaction&) const;
Json::Value getJson (int options, bool binary = false) const;
static Transaction::pointer load (uint256 const& id);
// conversion function
static bool convertToTransactions (
std::uint32_t ourLedgerSeq,
std::uint32_t otherLedgerSeq,
Validate checkFirstTransactions,
Validate checkSecondTransactions,
const SHAMap::Delta & inMap,
std::map<uint256, std::pair<pointer, pointer> >& outMap);
static bool isHexTxID (std::string const&);
protected: