diff --git a/src/currency_core/currency_basic.h b/src/currency_core/currency_basic.h index 776074e4..9a7fff76 100644 --- a/src/currency_core/currency_basic.h +++ b/src/currency_core/currency_basic.h @@ -602,12 +602,13 @@ namespace currency //extra std::vector extra; std::vector vin; - std::vector vout_;//std::vector vout; + std::vector vout;//std::vector vout; BEGIN_SERIALIZE() VARINT_FIELD(version) if(CURRENT_TRANSACTION_VERSION < version) return false; FIELD(vin) + if(version <= 1) FIELD(vout) FIELD(extra) END_SERIALIZE() diff --git a/src/currency_core/currency_format_utils.cpp b/src/currency_core/currency_format_utils.cpp index 7019ce41..65b591be 100644 --- a/src/currency_core/currency_format_utils.cpp +++ b/src/currency_core/currency_format_utils.cpp @@ -1209,6 +1209,7 @@ namespace currency { //extra copy operation, but creating transaction is not sensitive to this finalize_tx_param ftp = AUTO_VAL_INIT(ftp); + ftp.tx_version = CURRENT_TRANSACTION_VERSION; ftp.sources = sources; ftp.prepared_destinations = destinations; ftp.extra = extra; @@ -1264,7 +1265,7 @@ namespace currency tx.signatures.clear(); tx.extra = extra; - tx.version = CURRENT_TRANSACTION_VERSION; + tx.version = ftp.tx_version; if (unlock_time != 0) set_tx_unlock_time(tx, unlock_time);