From eb9a1a2c595a03475fd4275b104676b7e2200f07 Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Mon, 15 Nov 2021 13:54:01 -0500 Subject: psbt: Make sighash_type std::optional It is better to ues an optional to determine whether the sighash type is set rather than using 0 as a magic number. --- src/psbt.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/psbt.h') diff --git a/src/psbt.h b/src/psbt.h index 1171ecf1dd..21daa050ea 100644 --- a/src/psbt.h +++ b/src/psbt.h @@ -57,7 +57,7 @@ struct PSBTInput std::map hd_keypaths; std::map partial_sigs; std::map, std::vector> unknown; - int sighash_type = 0; + std::optional sighash_type; bool IsNull() const; void FillSignatureData(SignatureData& sigdata) const; @@ -86,9 +86,9 @@ struct PSBTInput } // Write the sighash type - if (sighash_type > 0) { + if (sighash_type != std::nullopt) { SerializeToVector(s, PSBT_IN_SIGHASH); - SerializeToVector(s, sighash_type); + SerializeToVector(s, *sighash_type); } // Write the redeem script @@ -201,7 +201,9 @@ struct PSBTInput } else if (key.size() != 1) { throw std::ios_base::failure("Sighash type key is more than one byte type"); } - UnserializeFromVector(s, sighash_type); + int sighash; + UnserializeFromVector(s, sighash); + sighash_type = sighash; break; case PSBT_IN_REDEEMSCRIPT: { -- cgit v1.2.3