Skip to content

Commit d5da341

Browse files
committed
Merge 80862ff into merged_master (Elements PR ElementsProject#1075)
2 parents 8ebd8af + 80862ff commit d5da341

3 files changed

Lines changed: 16 additions & 3 deletions

File tree

src/core_io.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
class CBlock;
1616
class CBlockHeader;
1717
class CScript;
18+
struct CScriptWitness;
1819
class CTransaction;
1920
struct CMutableTransaction;
2021
class uint256;
@@ -45,6 +46,7 @@ int ParseSighashString(const UniValue& sighash);
4546
UniValue ValueFromAmount(const CAmount amount);
4647
std::string FormatScript(const CScript& script);
4748
std::string EncodeHexTx(const CTransaction& tx, const int serializeFlags = 0);
49+
UniValue EncodeHexScriptWitness(const CScriptWitness& witness);
4850
std::string SighashToStr(unsigned char sighash_type);
4951
void ScriptPubKeyToUniv(const CScript& scriptPubKey, UniValue& out, bool fIncludeHex, bool include_addresses);
5052
void ScriptToUniv(const CScript& script, UniValue& out, bool include_address);

src/core_write.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,15 @@ std::string EncodeHexTx(const CTransaction& tx, const int serializeFlags)
169169
return HexStr(ssTx);
170170
}
171171

172+
UniValue EncodeHexScriptWitness(const CScriptWitness& witness)
173+
{
174+
UniValue witness_hex(UniValue::VARR);
175+
for (const auto &item : witness.stack) {
176+
witness_hex.push_back(HexStr(item));
177+
}
178+
return witness_hex;
179+
}
180+
172181
void ScriptToUniv(const CScript& script, UniValue& out, bool include_address)
173182
{
174183
out.pushKV("asm", ScriptToAsmStr(script));

src/rpc/blockchain.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,11 @@ UniValue blockheaderToJSON(const CBlockIndex* tip, const CBlockIndex* blockindex
216216
result.pushKV("difficulty", GetDifficulty(blockindex));
217217
result.pushKV("chainwork", blockindex->nChainWork.GetHex());
218218
} else {
219-
result.pushKV("signblock_witness_asm", ScriptToAsmStr(blockindex->proof.solution));
220-
result.pushKV("signblock_witness_hex", HexStr(blockindex->proof.solution));
221-
if (!blockindex->dynafed_params.IsNull()) {
219+
if (blockindex->dynafed_params.IsNull()) {
220+
result.pushKV("signblock_witness_asm", ScriptToAsmStr(blockindex->proof.solution));
221+
result.pushKV("signblock_witness_hex", HexStr(blockindex->proof.solution));
222+
} else {
223+
result.pushKV("signblock_witness_hex", EncodeHexScriptWitness(blockindex->m_signblock_witness));
222224
result.pushKV("dynamic_parameters", dynaParamsToJSON(blockindex->dynafed_params));
223225
}
224226
}

0 commit comments

Comments
 (0)