Commit graph

120 commits

Author SHA1 Message Date
Byron Hambly
1576f6243d Merge ccc431d53e into merged_master (Bitcoin PR bitcoin/bitcoin#27640) 2025-06-20 21:20:02 +02:00
Byron Hambly
8c94853dce Merge bf9361d375 into merged_master (Bitcoin PR bitcoin/bitcoin#26941) 2025-04-04 08:47:38 +02:00
Byron Hambly
769260634b Merge 8339f3cea8 into merged_master (Bitcoin PR bitcoin/bitcoin#26886) 2025-04-02 21:57:11 +02:00
Byron Hambly
b4405ba453 Merge e9262ea32a into merged_master (Bitcoin PR bitcoin/bitcoin#26750) 2025-03-31 16:37:52 +02:00
Byron Hambly
1b7e6dda13 Merge f3bc1a7282 into merged_master (Bitcoin PR bitcoin/bitcoin#26265) 2025-03-31 16:29:50 +02:00
Byron Hambly
0b0d5d214e Merge 8597260872 into merged_master (Bitcoin PR bitcoin/bitcoin#26480) 2025-03-04 10:42:21 +02:00
Byron Hambly
8499b13762
lint: fix lint issues 2024-12-03 14:02:33 +02:00
Byron Hambly
7a022fb75d Merge c5f0cbefa3 into merged_master (Bitcoin PR bitcoin/bitcoin#25775) 2024-11-04 15:04:48 +02:00
James Dorfman
35cd74da0f Merge 31c6309cc6 into merged_master (Bitcoin PR bitcoin/bitcoin#25596) 2024-10-16 06:30:40 +00:00
James Dorfman
00aa7139b8 Fix invalid RPC call within feature_rbf functional test 2024-10-16 05:42:41 +00:00
James Dorfman
a1bb92a8d7 Merge 39d111aee7 into merged_master (Bitcoin PR bitcoin/bitcoin#25575) 2024-10-16 04:56:58 +00:00
James Dorfman
dbab4c012c Merge a7f3479ba3 into merged_master (Bitcoin PR bitcoin/bitcoin#25353) 2024-10-13 18:06:13 +00:00
James Dorfman
9841d576fb Merge 8ef096d4f8 into merged_master (Bitcoin PR bitcoin/bitcoin#25522)
This commit made a lot of changes to test/functional/feature_rbf.py.
That functional test already had each subtest commented out, because
they weren't working properly.

For the most part, I simply accepted the incoming changes, and did not
actually get the functional test to start working.
2024-10-13 06:56:17 +00:00
James Dorfman
7c29c4bcdd Merge c8261026a4 into merged_master (Bitcoin PR bitcoin/bitcoin#25445)
Please double check my changes here -- I had to adjust some units
in test/functional/test_framework/wallet.py.
2024-09-17 18:35:09 +00:00
James Dorfman
aa54d7bc2f Merge f52d074363 into merged_master (Bitcoin PR bitcoin/bitcoin#25439) 2024-09-16 05:31:22 +00:00
James Dorfman
fa1a985ef3 Merge 1b71c76886 into merged_master (Bitcoin PR bitcoin/bitcoin#25435) 2024-09-16 04:45:07 +00:00
James Dorfman
63397a752c Merge a55606c3bd into merged_master (Bitcoin PR bitcoin/bitcoin#25356) 2024-09-10 18:37:30 +00:00
James Dorfman
abdd702c0f Merge e282764e04 into merged_master (Bitcoin PR bitcoin/bitcoin#25228) 2024-09-09 19:39:17 +00:00
Byron Hambly
b59e244da3
lint: fix issues from lint-python.sh 2023-09-01 16:04:39 +02:00
Byron Hambly
c53eb39edf Merge 807169e10b into merged_master (Bitcoin PR bitcoin/bitcoin#24035) 2023-06-20 09:57:58 +00:00
Byron Hambly
ca596d446a Merge 529ed33362 into merged_master (Bitcoin PR bitcoin/bitcoin#23715) 2023-06-06 10:18:36 +00:00
Byron Hambly
bd68371fb6 Merge ffdab41f94 into merged_master (Bitcoin PR bitcoin/bitcoin#23474) 2023-05-26 10:32:04 +00:00
Byron Hambly
2110cca82e Merge 2539980e1d into merged_master (Bitcoin PR bitcoin/bitcoin#23371)
- added a few fixme notes where necessary
- for some reason the given internal_key from upstream has a different
  parity, causing verifytaprootcommitment to fail... which is why the
  internal_key has been changed
- fixed up the rpc_blockchain test
2023-05-24 10:25:00 +00:00
James Dorfman
677e269c5c Merge 1435161f64 into merged_master (Bitcoin PR bitcoin/bitcoin#23316) 2023-05-14 01:36:16 +00:00
MarcoFalke
faf4315c88
test: Return dict in MiniWallet::send_to 2023-05-12 15:26:50 +02:00
Byron Hambly
56426ad2cb Merge c6f710ec98 into merged_master (Bitcoin PR bitcoin/bitcoin#23052) 2023-05-09 10:31:34 +00:00
James Dorfman
b582aaadb4 Merge 33e31f8df9 into merged_master (Bitcoin PR bitcoin/bitcoin#23079) 2023-04-28 10:07:15 +00:00
Byron Hambly
73ff8d7d61 FIXME commented out rbf tests 2023-04-23 07:15:22 +00:00
Byron Hambly
8b51bd1072 Merge ae674a0198 into merged_master (Bitcoin PR bitcoin/bitcoin#22998) 2023-04-22 08:12:34 +00:00
Byron Hambly
787dbf524e Merge 89447a63b9 into merged_master (Bitcoin PR bitcoin/bitcoin#23017) 2023-04-22 07:35:38 +00:00
Byron Hambly
01372df8d5 Merge b997dd211e into merged_master (Bitcoin PR bitcoin/bitcoin#22809) 2023-04-13 12:18:40 +00:00
James Dorfman
c8c66f0dc3 Merge eb09c26724 into merged_master (Bitcoin PR bitcoin/bitcoin#22741) 2023-04-11 05:41:32 +00:00
James Dorfman
ebc6e3967f Merge bb60960750 into merged_master (Bitcoin PR bitcoin/bitcoin#22593) 2023-04-03 20:34:45 +00:00
Byron Hambly
9b98dc8ab1 Merge da1c0c64fd into merged_master (Bitcoin PR bitcoin/bitcoin#22330) 2023-04-03 14:50:19 +02:00
MarcoFalke
fa88c043d1
test: Fix intermittent feature_rbf issue 2023-01-21 11:18:12 +01:00
kouloumos
0377d6bb42 test: add rescan_utxos in MiniWallet's initialization
this simplifies usage when MiniWallet is used with a pre-mined chain.
2023-01-16 19:01:09 +02:00
Hennadii Stepanov
306ccd4927
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
- 2021: f47dda2c58
- 2020: fa0074e2d8
- 2019: aaaaad6ac9
2022-12-24 23:49:50 +00:00
MacroFake
555519d082
test: Remove wallet option from non-wallet tests
Review note: The changes are complete, because self.options.descriptors
is set to None in parse_args (test_framework.py).

A value of None implies -disablewallet, see the previous commit.

So if a call to add_wallet_options is missing, it will lead to a test
failure when the wallet is compiled in.
2022-11-10 17:19:13 +01:00
glozow
1dc03dda05
[doc] remove non-signaling mentions of BIP125
Our RBF policy is different from the rules specified in BIP125. For
example, the BIP does not mention Rule 6, and our Rule 4 uses the
(configurable) incremental relay feerate (distinct from the
minimum relay feerate). Those interested in our policy should refer to
doc/policy/mempool-replacements.md instead. These rules may also
continue to diverge with package RBF and other RBF improvements. Keep
references to the BIP125 signaling wrt sequence numbers, since that is
still correct and widely used. It is helpful to refer to this as "BIP125
signaling" since it is unambiguous and succint, especially if we have
multiple ways to signal replaceability in the future.

The rule numbers in doc/policy/mempool-replacements.md correspond
largely to those of BIP 125, so we can still refer to them like "Rule 5."
2022-08-04 16:56:33 +01:00
MacroFake
fa0404dbb7
scripted-diff: [test] Rename BIP125_SEQUENCE_NUMBER to MAX_BIP125_RBF_SEQUENCE
-BEGIN VERIFY SCRIPT-
 sed -i 's:BIP125_SEQUENCE_NUMBER:MAX_BIP125_RBF_SEQUENCE:g' $(git grep -l BIP125_SEQUENCE_NUMBER ./test)
-END VERIFY SCRIPT-
2022-07-12 18:49:08 +02:00
Antoine Riard
1056bbdfcd Address comments remaining from #25353 2022-07-11 18:48:26 -04:00
MacroFake
a7f3479ba3
Merge bitcoin/bitcoin#25353: Add a -mempoolfullrbf node setting
4c9666bd73 Mention `mempoolfullrbf` in policy/mempool-replacements.md (Antoine Riard)
aae66ab43d Update getmempoolinfo RPC with `mempoolfullrbf` (Antoine Riard)
3e27e31727 Introduce `mempoolfullrbf` node setting. (Antoine Riard)

Pull request description:

  This is ready for review.

  Recent discussions among LN devs have brought back on the surface concerns about the security of multi-party funded transactions against pinnings attacks and other mempool-based nuisances. The lack of full-rbf transaction-relay topology connected to miners open the way to cheap and naive DoS against multi-party funded transactions (e.g coinjoins, dual-funded channels, on-chain DLCs, ...) without solutions introducing an overhead cost or centralization vectors afaik . For more details, see [0].

  This PR implements a simple `fullrbf` setting, where the node always allows transaction replacement, ignoring BIP125 opt-in flag. The default value of the setting stays **false**, therefore opt-in replacement is still the default Bitcoin Core replacement policy. Contrary to a previous proposal of mine and listening to feedbacks collected since then [1], I think this new setting simply offers more flexibility in a node transaction-relay policy suiting one's application requirements, without arguing a change of the default behavior.

  I [posted](https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-June/020557.html) on the ML to invite operators with a bitcoin application sensitive to full-rbf (e.g dual-funded LN channels service providers) or mempool researchers to join a bootstrapped full-rbf activated peers network for experimentation and learning. If people have strong opinions against the existence of such full-rbf transaction-relay network, I'm proposing to express them on the future thread.

  [0] https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html
  [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-June/019074.html

  Follow-up suggestions :
  - soft-enable opt-in RBF in the wallet : https://github.com/bitcoin/bitcoin/pull/25353#issuecomment-1154918789
  - p2p discovery and additional outbound connection to full-rbf peers : https://github.com/bitcoin/bitcoin/pull/25353#issuecomment-1156044401
  - match the code between RPC, wallet and mempool about disregard of inherited signaling : #22698

ACKs for top commit:
  instagibbs:
    reACK https://github.com/bitcoin/bitcoin/pull/25353/commits/4c9666bd73645b94ae81be1faf7a0b8237dd6e99
  glozow:
    ACK 4c9666bd73, a few nits which are non-blocking.
  w0xlt:
    ACK https://github.com/bitcoin/bitcoin/pull/25353/commits/4c9666bd73645b94ae81be1faf7a0b8237dd6e99

Tree-SHA512: 9e288bf22e06a9808804e58178444ef1830c3fdd42fd8a7cd7ffb101f8f586e08b000679be407d63ca76a56f7216227b368ff630c81f3fac3243db1a1202ab1c
2022-07-08 11:06:24 +02:00
Antoine Riard
3e27e31727 Introduce mempoolfullrbf node setting.
This new node policy setting enables to accept replaced-by-fee
transaction without inspection of the replaceability signaling
as described in BIP125 "explicit signaling".

If turns on, the node mempool accepts transaction replacement
as described in `policy/mempool-replacements.md`.

The default setting value is `false`, implying opt-in RBF
is enforced.
2022-07-06 20:57:29 -04:00
MacroFake
fad690ba0a
test: Remove -acceptnonstdtxn=1 from feature_rbf.py 2022-07-06 10:21:44 +02:00
MacroFake
fa04ff61b6
test: Return new_utxos from create_self_transfer_multi in MiniWallet 2022-06-27 11:07:34 +02:00
MacroFake
f52d074363
Merge bitcoin/bitcoin#25439: rpc: Return incrementalrelayfee in getmempoolinfo
fafee78188 rpc: Return incrementalrelayfee in getmempoolinfo (MacroFake)

Pull request description:

  Seems odd to return other policy info, but not the incremental relay fee

ACKs for top commit:
  1440000bytes:
    ACK https://github.com/bitcoin/bitcoin/pull/25439/commits/fafee78188c3de5f6245ec769429822ca4b98c63
  w0xlt:
    Code Review ACK https://github.com/bitcoin/bitcoin/pull/25439/commits/fafee78188c3de5f6245ec769429822ca4b98c63
  jarolrod:
    tACK fafee78188

Tree-SHA512: faad0af6c039b8257acbeac913bc5dcdb2ea2db304c95e52601536c8de60eb1186e9fbb4a64a68adf476605f18022aeda16a5644a0d7912592b0977e4c029638
2022-06-27 08:19:14 +02:00
MacroFake
fafee78188
rpc: Return incrementalrelayfee in getmempoolinfo 2022-06-21 18:03:29 +02:00
MacroFake
fa8421bc5b
test: Remove from_node from create_self_transfer* MiniWallet helpers
The from_node argument is no longer used as of commit
a55606c3bd
2022-06-21 12:02:01 +02:00
MacroFake
fa779de665
test: Remove MiniWallet mempool_valid option 2022-06-13 18:09:16 +02:00
James O'Beirne
687addaf13 test: add BIP-125 rule 5 testcase with default mempool
This testcase exercises rule 5 of BIP-125 (no more than 100 evictions
due to replacement) without having to test under non-default mempool
parametmers.
2022-06-02 10:19:24 -04:00