[Qt] Add simple opt-in-RBF support #8182

pull jonasschnelli wants to merge 5 commits into bitcoin:master from jonasschnelli:2016/04/qt_rbf_set_new changing 10 files +249 −15
  1. jonasschnelli commented at 9:17 AM on June 9, 2016: contributor

    1) Adds an option to set the opt-in-RBF flag when creating a transaction <img width="854" alt="bildschirmfoto 2016-06-09 um 11 14 44" src="https://cloud.githubusercontent.com/assets/178464/15924631/64f90b66-2e33-11e6-87f1-dae3dd9fd02b.png">

    2) Adds a fee bump option to the context menu. The option is only enabled if the transaction isFromMe and signaling RBF.

    <img width="852" alt="bildschirmfoto 2016-06-09 um 11 12 06" src="https://cloud.githubusercontent.com/assets/178464/15924564/05252094-2e33-11e6-8892-f26030cfc99c.png">

    <img width="865" alt="bildschirmfoto 2016-06-09 um 11 10 58" src="https://cloud.githubusercontent.com/assets/178464/15924544/f0502628-2e32-11e6-839e-5dcb9f962011.png">

    For the full "RBF experience" we also should consider: #7817 (attribute replaceable (RBF) transactions) #7826 (show conflicts of unconfirmed transactions in the UI)

  2. [Refactor] CreateTransaction(): use bit flags
    This will allow to add flags for RBF and other features
    0b4e712f10
  3. Allow to opt-into RBF when creating a transaction 38cd669044
  4. [Qt] Add simple optin-RBF checkbox and confirmation info 2713dc7d38
  5. [Qt] show mempool conflicts in the UI
    On RPC level, we show possible mempool conflicts already via detecting them over the CWallet::GetConflicts() function.
    Currently, the GUI shows only conflicts with transaction in a block.
    
    This results in displaying replaced transaction (RBF) wrong.
    
    This PR will mark unconfirmed transactions that are _not_ in our mempool and have conflicts as conflicted.
    d63c73ecdb
  6. [Qt] Add simple way to increase the transaction fee ce2651580b
  7. jonasschnelli added the label GUI on Jun 9, 2016
  8. laanwj added this to the milestone 0.13.0 on Jun 9, 2016
  9. in src/qt/forms/sendcoinsdialog.ui:None in ce2651580b
    1256 | @@ -1257,6 +1257,16 @@
    1257 |        </widget>
    1258 |       </item>
    1259 |       <item>
    1260 | +      <widget class="QCheckBox" name="optInRBF">
    1261 | +       <property name="text">
    1262 | +        <string>Signal Replaceability</string>
    1263 | +       </property>
    1264 | +       <property name="toolTip">
    1265 | +        <string>Signals that this transaction can be replaced with a transation paying higher fees (as long as the transaction is NOT confirmed).</string>
    


    paveljanik commented at 5:13 PM on June 15, 2016:

    transation -> transaction

  10. in src/wallet/wallet.cpp:None in ce2651580b
    1981 | @@ -1981,7 +1982,122 @@ bool CWallet::SelectCoins(const vector<COutput>& vAvailableCoins, const CAmount&
    1982 |      return res;
    1983 |  }
    1984 |  
    1985 | -bool CWallet::FundTransaction(CMutableTransaction& tx, CAmount& nFeeRet, bool overrideEstimatedFeeRate, const CFeeRate& specificFeeRate, int& nChangePosInOut, std::string& strFailReason, bool includeWatching, bool lockUnspents, const CTxDestination& destChange)
    1986 | +bool CWallet::BumpFee(const CWalletTx& wtxIn, CWalletTx& wtxOut, CReserveKey& reservekeyOut, CAmount& nOldFee, CAmount& newFee, unsigned int blocksToConfirm)
    1987 | +{
    1988 | +    // ownly bump the fee if the transation signals opt-in-RBF after BIP125
    


    paveljanik commented at 5:17 PM on June 15, 2016:

    only transaction

  11. luke-jr commented at 7:44 PM on June 16, 2016: member

    "signals replaceability" doesn't really seem useful terminology for users. Maybe "Allow increasing fee later" or something would make more sense.

    IMO there should be some way for the user to actually control what the fee is bumped to.

  12. laanwj commented at 11:55 AM on June 20, 2016: member

    Unfortunately this missed the 0.13 feature merge window. We should merge it soon after 0.13 is branched off. (even if not perfect, even if some texts could still be improved, this is a strict improvement)

  13. laanwj removed this from the milestone 0.13.0 on Jun 20, 2016
  14. btcdrak commented at 4:48 PM on August 19, 2016: contributor

    needs rebase

  15. rebroad commented at 3:14 PM on September 15, 2016: contributor

    is anyone working on rebasing this or shall I?

  16. jonasschnelli commented at 3:28 PM on September 15, 2016: contributor

    I'm currently not working on this and I have no near future plans to work on this. We should first review and merge #8456.

  17. jonasschnelli commented at 10:15 AM on December 6, 2016: contributor

    Closing. We need RPC support first.

  18. jonasschnelli closed this on Dec 6, 2016

  19. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-21 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me