diff --git a/src/page.h b/src/page.h index e70e5eb..ff17c23 100644 --- a/src/page.h +++ b/src/page.h @@ -696,7 +696,7 @@ public: uint64_t mixin_no = 0; if (!mixin_numbers.empty()) - mixin_numbers.at(0) - 1; + mixin_no = mixin_numbers.at(0) - 1; // set output page template map txs.push_back(mstch::map { diff --git a/src/tools.cpp b/src/tools.cpp index 13332db..cc70900 100644 --- a/src/tools.cpp +++ b/src/tools.cpp @@ -509,9 +509,25 @@ get_mixin_no(const string& json_str) { vector mixin_no; + json j; + + try + { + j = json::parse(json_str); + + mixin_no.push_back(j["vin"].at(0)["key"]["key_offsets"].size()); + } + catch (std::invalid_argument& e) + { + cerr << "get_mixin_no: " << e.what() << endl; + return mixin_no; + } + return mixin_no; } + + vector get_mixin_no_in_txs(const vector& txs) {