Commit graph

8498 commits

Author SHA1 Message Date
Abdullah1738
13d830f59f feat(rpc): expose effective fee asset 2026-08-05 23:29:55 +04:00
Tom Trevethan
85be2cc64f linter: remove trailing whitespace 2026-07-10 12:11:21 +01:00
merge-script
af697df271
Merge ElementsProject/elements#1569: Linter fixes
Some checks failed
CI / test each commit (push) Has been cancelled
CI / macOS 14 native, arm64, no depends, sqlite only, gui (push) Has been cancelled
CI / macOS 14 native, arm64, fuzz (push) Has been cancelled
CI / Win64 native, VS 2022 (push) Has been cancelled
CI / Win64 native fuzz, VS 2022 (push) Has been cancelled
CI / ASan + LSan + UBSan + integer, no depends, USDT (push) Has been cancelled
CI / lint (push) Has been cancelled
713da86406 add linter check to CI (Tom Trevethan)
bd2dbdcceb Fix: linter errors (Tom Trevethan)
0ee8558f3a Squashed 'src/secp256k1/' content from commit 95b983597a (Tom Trevethan)

Pull request description:

  Fixes for the v29 branch point linter checks.

  `tests/bitcoin_functional` obsolete tests removed.

ACKs for top commit:
  delta1:
    ACK 713da86406; tested locally.

Tree-SHA512: 8385282c8824ac4b47213594955a99279e83890f0be879e8558ad7aa166571dd813c97a3c57e08b54b9d12b650cb8518282dc87d91b39ad2eaa97955f81b51b5
2026-07-10 13:06:25 +02:00
Tom Trevethan
e5d02b9fd5
fix RPC documentation inconsistencies 2026-07-09 14:13:48 +01:00
Tom Trevethan
713da86406 add linter check to CI 2026-07-07 15:03:16 +01:00
merge-script
7a53073d04
Merge ElementsProject/elements#1564: mempool: disable full-RBF, require BIP125 opt-in signaling
0e0d01913a mempool: disable full-RBF, require BIP125 opt-in signaling (Byron Hambly)

Pull request description:

  Bitcoin Core defaults to accepting any fee-bumping replacement regardless of signaling (full-RBF). Revert this for Elements: only replace mempool transactions that explicitly opt in via BIP125 nSequence signaling (or TRUC), and report fullrbf=false in getmempoolinfo.

  Update feature_rbf.py accordingly, and add a regression test for CVE-2021-31876 confirming that inherited signaling from an unconfirmed parent does not make a non-signaling child replaceable.

ACKs for top commit:
  tomt1664:
    Tested locally ACK 0e0d01913a

Tree-SHA512: 58847919c6a702fe3d5ea4065e07912684cce6f084ca2507d9ef24c6fe8fdb290bb08108d9e025f26a5674e731bf71a9bdbd262aaf78e4f991bcdf06b61228f7
2026-07-06 13:41:58 +01:00
merge-script
5f30cd20d9
Merge ElementsProject/elements#1565: Guard against trimmed chain_start in TryLowWorkHeadersSync
e151cada58 test: update and re-enable trim headers functional test (Byron Hambly)
3824d7dd36 add guard to TryLowWorkHeadersSync to prevent assert_untrimmed (Tom Trevethan)

Pull request description:

  When -trim_headers is enabled, TryLowWorkHeadersSync can receive a chain_start_header pointing to a trimmed block index entry. The `HeadersSyncState` constructor immediately calls `GetBlockHeader()` on it via the m_last_header_received initialiser, which hits `assert_untrimmed()` and aborts the node.

  Conditional untrim_to guard added inside `TryLowWorkHeadersSync`, before `HeadersSyncState`.

  For nodes running -trim_headers, in practice the crash path is not reachable on Elements because `already_validated_work` is always true on a federated chain (nChainWork == nMinimumChainWork == 0), so `TryLowWorkHeadersSync` is not entered. But this ensures consistency with guarded serving paths.

  `TryLowWorkHeadersSync` and `HeadersSyncState` were introduced in Bitcoin v24 (bitcoin/bitcoin#25717) and so this is not applicable to Elements v23.

ACKs for top commit:
  delta1:
    ACK e151cada58; tested locally

Tree-SHA512: 824344079b2136f7e2005968eafa3ad4385ed13ee3b3f3f79b3f878ed7e7dd88c68c85c1d6dd6e989f8484561984e6350fa81a6a19c96550787d0e615b76e87c
2026-07-06 13:34:40 +01:00
Tom Trevethan
bd2dbdcceb Fix: linter errors 2026-07-06 01:42:43 +01:00
Byron Hambly
e151cada58
test: update and re-enable trim headers functional test
The trim_headers test was previously moved to extended tests, and only
worked with legacy wallets. Update it to work with descriptor wallets,
and move it back to base scripts in functional tests.
2026-07-02 14:10:12 +02:00
Ruslan Kasheparov
14a52bf188
rpc: use null for optional parameters 2026-06-25 17:01:10 +02:00
Byron Hambly
0e0d01913a
mempool: disable full-RBF, require BIP125 opt-in signaling
Bitcoin Core defaults to accepting any fee-bumping replacement
regardless of signaling (full-RBF). Revert this for Elements: only
replace mempool transactions that explicitly opt in via BIP125
nSequence signaling (or TRUC), and report fullrbf=false in
getmempoolinfo.

Update feature_rbf.py accordingly, and add a regression test for
CVE-2021-31876 confirming that inherited signaling from an
unconfirmed parent does not make a non-signaling child replaceable.
2026-06-25 15:10:01 +02:00
Tom Trevethan
13398037b6
set Wno-error for simplicity keep warning but dont error on it
fuzz test fixes

set -DPRODUCTION for simplicity in fuzz tests

set UNDEBUG for simplicity in fuzz tests

update wallet fuzz tests

update test script

fix msvc conversion issues

more msvc vector conversion fixes and substitution of boost libs

fix more hexstr calls

fix hexstr calls in init.cpp

default CMAKE_GENERATOR to Unix Makefiles

more span fixes

specify build bin directory

fix executable locations

fix fuzz tests for c11 and functional test fixes

fix fuzz test executable path

specify legacy wallet for elements functional tests

remove assertion for static initialization order issue

use elements fuzz corpus

print debug log on failure

use heap for blind and asset_blind

test: avoid disk space warning for non-regtest

feature_config_args.py incorrectly assumed that its testnet4 node
would not log a disk space warning.

0683b8ebf3 increased m_assumed_blockchain_size
on testnet4 from 1 to 11 GiB which triggers this bug on more
systems, e.g. a RAM disk.

Prevent the warning by setting -prune for these nodes.

Fix the same issue in feature_signet.py

Github-Pull: #32057
Rebased-From: 20fe41e9e83d510fd467f5a999d55a614b16ef89
2026-06-17 14:15:49 +01:00
merge-script
4b1206f298
Merge ElementsProject/elements#1542: Change test order in feature_discount_ct.py to fix intermittent failure
6515f58351 change test order in feature_discount_ct to fix intermittent failure (Tom Trevethan)

Pull request description:

  Prevents blinded output being selected intermittently and resulting in vszie and fee assertions failing.

ACKs for top commit:
  delta1:
    ACK 6515f58351; fixes discount_ct test flakiness

Tree-SHA512: 32d8c64011125e5531dd19ce84dbe39b2d4496a02c5bf5ece0cbc2f0c2bf6660816d6d61593fe32a615dd96a8632d94cba6bc09e792ffa6ea57fbdc4f52424da
2026-04-30 13:27:26 +01:00
Tom Trevethan
a2734e9a6d
difficulty targetpow test set-up disabled for elements 2026-04-21 10:13:33 +01:00
Tom Trevethan
697f03a17e
fix needing to reindex chainstate after pegin 2026-04-23 11:51:40 +01:00
ivanlele
c1820ce4b9
Merge 8cb6ab0b97 into merged_master (Bitcoin PR bitcoin/bitcoin#32025) 2026-04-16 14:51:03 +00:00
ivanlele
41818f6a31
Merge 7bb4c82d8b into merged_master (Bitcoin PR bitcoin/bitcoin#32021) 2026-04-16 14:43:02 +00:00
ivanlele
bccf30a4e2
Merge 502d47203e into merged_master (Bitcoin PR bitcoin/bitcoin#31161) 2026-04-16 14:29:29 +00:00
ivanlele
a3e7c04148
Merge e38f09b776 into merged_master (Bitcoin PR bitcoin/bitcoin#31955) 2026-04-16 14:19:01 +00:00
ivanlele
c1f84b7e11
Merge 45719390a1 into merged_master (Bitcoin PR bitcoin/bitcoin#32011) 2026-04-16 14:07:53 +00:00
ivanlele
174bf23a72
Merge 0391d7e4c2 into merged_master (Bitcoin PR bitcoin/bitcoin#31848) 2026-04-16 13:47:27 +00:00
ivanlele
ef29f6c90c
Merge 6876e5076e into merged_master (Bitcoin PR bitcoin/bitcoin#31943) 2026-04-16 13:13:58 +00:00
ivanlele
5df8c79804
Merge 3bb679e5de into merged_master (Bitcoin PR bitcoin/bitcoin#31952) 2026-04-16 13:02:51 +00:00
ivanlele
bdd3ddd27e
Merge c12a2528ce into merged_master (Bitcoin PR bitcoin/bitcoin#31415) 2026-04-16 12:57:17 +00:00
ivanlele
ccbd9a2ae6
Merge dc3a714633 into merged_master (Bitcoin PR bitcoin/bitcoin#31794) 2026-04-16 11:38:35 +00:00
ivanlele
1b1ad5cc58
Merge 06757af2da into merged_master (Bitcoin PR bitcoin/bitcoin#29156) 2026-04-16 11:26:32 +00:00
ivanlele
93404754c8
Merge 63d625f761 into merged_master (Bitcoin PR bitcoin/bitcoin#31893) 2026-04-16 11:06:31 +00:00
ivanlele
33fc6fb4fc
Merge 43e71f7498 into merged_master (Bitcoin PR bitcoin/bitcoin#27432) 2026-04-16 10:49:37 +00:00
ivanlele
b9a1c93e74
Merge e53310c47a into merged_master (Bitcoin PR bitcoin/bitcoin#30529) 2026-04-16 10:38:16 +00:00
ivanlele
203bc21871
Merge 0b48f77e10 into merged_master (Bitcoin PR bitcoin/bitcoin#31413) 2026-04-16 09:05:51 +00:00
ivanlele
a5dbfd2ccd
Merge 21a0efaf8c into merged_master (Bitcoin PR bitcoin/bitcoin#29858) 2026-04-16 09:05:23 +00:00
Tom Trevethan
9a162e29ff Merge 14d1d8e212 into merged_master (Bitcoin PR bitcoin/bitcoin#31758) 2026-04-15 15:08:53 +01:00
Tom Trevethan
d3434896ea Merge 2549fc6fd1 into merged_master (Bitcoin PR bitcoin/bitcoin#31768) 2026-04-15 15:04:04 +01:00
Tom Trevethan
b896c2c6f2 Merge 96d30ed4f9 into merged_master (Bitcoin PR bitcoin/bitcoin#31495) 2026-04-15 14:59:14 +01:00
Tom Trevethan
e963f9d873 Merge 251ea7367c into merged_master (Bitcoin PR bitcoin/bitcoin#31767) 2026-04-15 14:11:17 +01:00
ivanlele
8f82f96168
Merge 2507ebdf1b into merged_master (Bitcoin PR bitcoin/bitcoin#31837) 2026-04-14 15:13:00 +00:00
ivanlele
33758e19c6
Merge ff3171f96d into merged_master (Bitcoin PR bitcoin/bitcoin#31614) 2026-04-14 15:01:44 +00:00
ivanlele
c068c05f23
Merge 6b165f5906 into merged_master (Bitcoin PR bitcoin/bitcoin#31384) 2026-04-14 14:55:28 +00:00
ivanlele
f4a55d4622
Merge fb0ada982a into merged_master (Bitcoin PR bitcoin/bitcoin#31811) 2026-04-14 13:59:34 +00:00
ivanlele
64be30c82c
Merge 82ba505134 into merged_master (Bitcoin PR bitcoin/bitcoin#31759) 2026-04-14 13:46:45 +00:00
ivanlele
36dd0bed39
Merge ae9eaa063b into merged_master (Bitcoin PR bitcoin/bitcoin#31760) 2026-04-14 13:41:05 +00:00
ivanlele
54468451ca
Merge a43f08c4ae into merged_master (Bitcoin PR bitcoin/bitcoin#25832) 2026-04-14 13:25:22 +00:00
ivanlele
623932d6b0
Merge b9c241804c into merged_master (Bitcoin PR bitcoin/bitcoin#30226) 2026-04-14 13:19:39 +00:00
ivanlele
e1328ab5b4
Merge 1334ca6c07 into merged_master (Bitcoin PR bitcoin/bitcoin#31437) 2026-04-14 13:14:03 +00:00
ivanlele
08183c6e55
Merge 33932d30e3 into merged_master (Bitcoin PR bitcoin/bitcoin#31784) 2026-04-14 12:50:10 +00:00
ivanlele
60c1b3d298
Merge 94ca99ac51 into merged_master (Bitcoin PR bitcoin/bitcoin#31666) 2026-04-14 12:44:01 +00:00
ivanlele
d7068d4f28
Merge 85f96b01b7 into merged_master (Bitcoin PR bitcoin/bitcoin#30909) 2026-04-14 12:18:00 +00:00
ivanlele
8ba19e082d
Merge eaf4b928e7 into merged_master (Bitcoin PR bitcoin/bitcoin#31746) 2026-04-14 11:25:51 +00:00
ivanlele
05f1981454
Merge 992f37f2e1 into merged_master (Bitcoin PR bitcoin/bitcoin#31600) 2026-04-14 11:02:16 +00:00
ivanlele
9df8694c0e
Merge 809d7e763c into merged_master (Bitcoin PR bitcoin/bitcoin#31751) 2026-04-14 10:11:50 +00:00