Avoid using sizes on non-fixed-width types to derive protocol constants.
Thanks to awemany for pointing this out.
This commit is contained in:
parent
0b019357ff
commit
095b917464
2 changed files with 5 additions and 4 deletions
|
@ -20,6 +20,7 @@
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
#include "policy/fees.h"
|
#include "policy/fees.h"
|
||||||
#include "policy/policy.h"
|
#include "policy/policy.h"
|
||||||
|
#include "policy/rbf.h"
|
||||||
#include "pow.h"
|
#include "pow.h"
|
||||||
#include "primitives/block.h"
|
#include "primitives/block.h"
|
||||||
#include "primitives/transaction.h"
|
#include "primitives/transaction.h"
|
||||||
|
@ -488,9 +489,9 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||||
if (!setConflicts.count(ptxConflicting->GetHash()))
|
if (!setConflicts.count(ptxConflicting->GetHash()))
|
||||||
{
|
{
|
||||||
// Allow opt-out of transaction replacement by setting
|
// Allow opt-out of transaction replacement by setting
|
||||||
// nSequence >= maxint-1 on all inputs.
|
// nSequence > MAX_BIP125_RBF_SEQUENCE (SEQUENCE_FINAL-2) on all inputs.
|
||||||
//
|
//
|
||||||
// maxint-1 is picked to still allow use of nLockTime by
|
// SEQUENCE_FINAL-1 is picked to still allow use of nLockTime by
|
||||||
// non-replaceable transactions. All inputs rather than just one
|
// non-replaceable transactions. All inputs rather than just one
|
||||||
// is for the sake of multi-party protocols, where we don't
|
// is for the sake of multi-party protocols, where we don't
|
||||||
// want a single party to be able to disable replacement.
|
// want a single party to be able to disable replacement.
|
||||||
|
@ -504,7 +505,7 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||||
{
|
{
|
||||||
for (const CTxIn &_txin : ptxConflicting->vin)
|
for (const CTxIn &_txin : ptxConflicting->vin)
|
||||||
{
|
{
|
||||||
if (_txin.nSequence < std::numeric_limits<unsigned int>::max()-1)
|
if (_txin.nSequence <= MAX_BIP125_RBF_SEQUENCE)
|
||||||
{
|
{
|
||||||
fReplacementOptOut = false;
|
fReplacementOptOut = false;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -2723,7 +2723,7 @@ bool CWallet::CreateTransaction(const std::vector<CRecipient>& vecSend, CWalletT
|
||||||
// to avoid conflicting with other possible uses of nSequence,
|
// to avoid conflicting with other possible uses of nSequence,
|
||||||
// and in the spirit of "smallest possible change from prior
|
// and in the spirit of "smallest possible change from prior
|
||||||
// behavior."
|
// behavior."
|
||||||
const uint32_t nSequence = coin_control.signalRbf ? MAX_BIP125_RBF_SEQUENCE : (std::numeric_limits<unsigned int>::max() - 1);
|
const uint32_t nSequence = coin_control.signalRbf ? MAX_BIP125_RBF_SEQUENCE : (CTxIn::SEQUENCE_FINAL - 1);
|
||||||
for (const auto& coin : setCoins)
|
for (const auto& coin : setCoins)
|
||||||
txNew.vin.push_back(CTxIn(coin.outpoint,CScript(),
|
txNew.vin.push_back(CTxIn(coin.outpoint,CScript(),
|
||||||
nSequence));
|
nSequence));
|
||||||
|
|
Loading…
Reference in a new issue