rbf.h raw

   1  // Copyright (c) 2016-present The Bitcoin Core developers
   2  // Distributed under the MIT software license, see the accompanying
   3  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
   4  
   5  #ifndef BITCOIN_UTIL_RBF_H
   6  #define BITCOIN_UTIL_RBF_H
   7  
   8  #include <cstdint>
   9  
  10  class CTransaction;
  11  
  12  static constexpr uint32_t MAX_BIP125_RBF_SEQUENCE{0xfffffffd};
  13  
  14  /** Check whether the sequence numbers on this transaction are signaling opt-in to replace-by-fee,
  15   * according to BIP 125.  Allow opt-out of transaction replacement by setting nSequence >
  16   * MAX_BIP125_RBF_SEQUENCE (SEQUENCE_FINAL-2) on all inputs.
  17  *
  18  * SEQUENCE_FINAL-1 is picked to still allow use of nLockTime by non-replaceable transactions. All
  19  * inputs rather than just one is for the sake of multi-party protocols, where we don't want a single
  20  * party to be able to disable replacement by opting out in their own input. */
  21  bool SignalsOptInRBF(const CTransaction& tx);
  22  
  23  #endif // BITCOIN_UTIL_RBF_H
  24