aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatt Corallo <[email protected]>2019-09-03 10:53:45 -0400
committerMatt Corallo <[email protected]>2019-09-03 10:53:45 -0400
commite80259f1976545e4f1ab6a420644be0c32261773 (patch)
treea4733981df0b7e7cfad3b08c5d87eaff611a320d /src
parentDump transaction version as an unsigned integer in RPC/TxToUniv (diff)
downloaddiscoin-e80259f1976545e4f1ab6a420644be0c32261773.tar.xz
discoin-e80259f1976545e4f1ab6a420644be0c32261773.zip
Additionally treat Tx.nVersion as unsigned in joinpsbts
This gets its own release note callout, though doesn't appear to violate the BIP as the BIP appears to be underspecified. We probably want to update BIP 174 to mention how version numbers are combined.
Diffstat (limited to 'src')
-rw-r--r--src/rpc/rawtransaction.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp
index 0ab504de0..0abc2d26b 100644
--- a/src/rpc/rawtransaction.cpp
+++ b/src/rpc/rawtransaction.cpp
@@ -1566,7 +1566,7 @@ UniValue joinpsbts(const JSONRPCRequest& request)
throw JSONRPCError(RPC_INVALID_PARAMETER, "At least two PSBTs are required to join PSBTs.");
}
- int32_t best_version = 1;
+ uint32_t best_version = 1;
uint32_t best_locktime = 0xffffffff;
for (unsigned int i = 0; i < txs.size(); ++i) {
PartiallySignedTransaction psbtx;
@@ -1576,8 +1576,8 @@ UniValue joinpsbts(const JSONRPCRequest& request)
}
psbtxs.push_back(psbtx);
// Choose the highest version number
- if (psbtx.tx->nVersion > best_version) {
- best_version = psbtx.tx->nVersion;
+ if (static_cast<uint32_t>(psbtx.tx->nVersion) > best_version) {
+ best_version = static_cast<uint32_t>(psbtx.tx->nVersion);
}
// Choose the lowest lock time
if (psbtx.tx->nLockTime < best_locktime) {
@@ -1588,7 +1588,7 @@ UniValue joinpsbts(const JSONRPCRequest& request)
// Create a blank psbt where everything will be added
PartiallySignedTransaction merged_psbt;
merged_psbt.tx = CMutableTransaction();
- merged_psbt.tx->nVersion = best_version;
+ merged_psbt.tx->nVersion = static_cast<int32_t>(best_version);
merged_psbt.tx->nLockTime = best_locktime;
// Merge