From 16510cd92e3b5c410b134629be2c933184ca1550 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Thu, 4 Oct 2012 23:45:27 -0700 Subject: [PATCH] Add 'sfSignature' to the list of signature fields. (Should probably be an SField flag.) --- src/SerializedObject.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/SerializedObject.cpp b/src/SerializedObject.cpp index 6542fedd7d..6268e1cf07 100644 --- a/src/SerializedObject.cpp +++ b/src/SerializedObject.cpp @@ -206,7 +206,10 @@ bool STObject::set(SerializerIterator& sit, int depth) return true; SField::ref fn = SField::getField(type, field); if (fn.isInvalid()) + { + Log(lsWARNING) << "Unknown field: field_type=" << type << ", field_name=" << field; throw std::runtime_error("Unknown field"); + } giveObject(makeDeserializedObject(fn.fieldType, fn, sit, depth + 1)); } return false; @@ -252,7 +255,8 @@ void STObject::add(Serializer& s, bool withSigningFields) const if (it.getSType() != STI_NOTPRESENT) { SField::ref fName = it.getFName(); - if (withSigningFields || ((fName != sfTxnSignature) && (fName != sfTxnSignatures))) + if (withSigningFields || + ((fName != sfTxnSignature) && (fName != sfTxnSignatures) && (fName != sfSignature))) fields.insert(std::make_pair(it.getFName().fieldCode, &it)); } }