diff --git a/PackedMessage.cpp b/PackedMessage.cpp index c6e0b6d7e0..48c89fba33 100644 --- a/PackedMessage.cpp +++ b/PackedMessage.cpp @@ -20,7 +20,13 @@ PackedMessage::PackedMessage(MessagePointer msg, int type) assert(msg_size); mBuffer.resize(HEADER_SIZE + msg_size); encodeHeader(msg_size,type); - if(msg_size) mMsg->SerializeToArray(&mBuffer[HEADER_SIZE], msg_size); + if(msg_size) + { + mMsg->SerializeToArray(&mBuffer[HEADER_SIZE], msg_size); +#ifdef DEBUG + std::cerr << "PackedMessage: type=" << type << ", datalen=" << msg_size << std::endl; +#endif + } } bool PackedMessage::operator == (const PackedMessage& other) diff --git a/PackedMessage.h b/PackedMessage.h index 1a8cdcf54b..2741f6779b 100644 --- a/PackedMessage.h +++ b/PackedMessage.h @@ -26,12 +26,13 @@ const unsigned HEADER_SIZE = 6; class PackedMessage : public boost::enable_shared_from_this { + + std::vector mBuffer; + // Encodes the size and type into a header at the beginning of buf // void encodeHeader(unsigned size, int type); - - std::vector mBuffer; public: typedef boost::shared_ptr< ::google::protobuf::Message > MessagePointer; typedef boost::shared_ptr pointer; diff --git a/Peer.cpp b/Peer.cpp index 2c5c2de79d..c4a9425d71 100644 --- a/Peer.cpp +++ b/Peer.cpp @@ -5,6 +5,8 @@ //#include #include +#include "json/writer.h" + #include "Peer.h" #include "KnownNodeList.h" #include "Config.h" @@ -123,7 +125,7 @@ void Peer::processReadBuffer() { int type=PackedMessage::getType(mReadbuf); #ifdef DEBUG - std::cerr << "PRB(" << type << ")" << std::endl; + std::cerr << "PRB(" << type << "), len=" << (mReadbuf.size()-HEADER_SIZE) << std::endl; #endif switch(type) { @@ -295,6 +297,8 @@ void Peer::recvTransaction(newcoin::TMTransaction& packet) { // transaction fails basic validity tests #ifdef DEBUG std::cerr << "Transaction from peer fails validity tests" << std::endl; + Json::StyledStreamWriter w; + w.write(std::cerr, tx->getJson(true)); #endif return; } diff --git a/Transaction.cpp b/Transaction.cpp index 962f043672..b1f6fb9a9d 100644 --- a/Transaction.cpp +++ b/Transaction.cpp @@ -68,6 +68,7 @@ Transaction::Transaction(const std::vector &t, bool validate) : m mFromPubKey=theApp->getPubKeyCache().store(mAccountFrom, mFromPubKey); updateID(); + updateFee(); if(!validate || checkSign()) mStatus=NEW; @@ -130,11 +131,11 @@ Serializer::pointer Transaction::getRaw(bool prefix) const Serializer::pointer ret(new Serializer(77)); if(prefix) ret->add32(0x54584e00u); ret->add160(mAccountTo); - ret->addRaw(mFromPubKey->GetPubKey()); ret->add64(mAmount); ret->add32(mFromAccountSeq); ret->add32(mSourceLedger); ret->add32(mIdent); + ret->addRaw(mFromPubKey->GetPubKey()); assert( (prefix&&(ret->getLength()==77)) || (!prefix&&(ret->getLength()==73)) ); return ret; }