From 2230286afbed87e50fe392722d84bf002fdf030e Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Fri, 20 Jul 2012 14:08:33 -0700 Subject: [PATCH] Some small missing pieces for TX metadata. --- src/LedgerConsensus.cpp | 2 +- src/TransactionEngine.cpp | 2 +- src/TransactionEngine.h | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/LedgerConsensus.cpp b/src/LedgerConsensus.cpp index 8b2d51cf23..c4eeab81db 100644 --- a/src/LedgerConsensus.cpp +++ b/src/LedgerConsensus.cpp @@ -717,7 +717,7 @@ void LedgerConsensus::Saccept(boost::shared_ptr This, SHAMap::p void LedgerConsensus::applyTransaction(TransactionEngine& engine, SerializedTransaction::pointer txn, Ledger::pointer ledger, CanonicalTXSet& failedTransactions, bool final) { - TransactionEngineParams parms = final ? (tepNO_CHECK_FEE | tepUPDATE_TOTAL) : tepNONE; + TransactionEngineParams parms = final ? (tepNO_CHECK_FEE | tepUPDATE_TOTAL | tepMETADATA) : tepNONE; #ifndef TRUST_NETWORK try { diff --git a/src/TransactionEngine.cpp b/src/TransactionEngine.cpp index 7952a08c65..767457528c 100644 --- a/src/TransactionEngine.cpp +++ b/src/TransactionEngine.cpp @@ -862,7 +862,7 @@ TransactionEngineResult TransactionEngine::applyTransaction(const SerializedTran naSigningPubKey = NewcoinAddress::createAccountPublic(txn.peekSigningPubKey()); // Consistency: really signed. - if (terSUCCESS == terResult && !txn.checkSign(naSigningPubKey)) + if ((terSUCCESS == terResult) && ((params & tepNO_CHECK_SIGN) == 0) && !txn.checkSign(naSigningPubKey)) { Log(lsWARNING) << "applyTransaction: Invalid transaction: bad signature"; diff --git a/src/TransactionEngine.h b/src/TransactionEngine.h index b84c4a0102..f75e509625 100644 --- a/src/TransactionEngine.h +++ b/src/TransactionEngine.h @@ -88,6 +88,7 @@ enum TransactionEngineParams tepNO_CHECK_SIGN = 1, // Signature already checked tepNO_CHECK_FEE = 2, // It was voted into a ledger anyway tepUPDATE_TOTAL = 4, // Update the total coins + tepMETADATA = 5, // put metadata in tree, not transaction }; enum TransactionAccountAction