Commit Graph

39258 Commits

Author SHA1 Message Date
Luke Dashjr
3faf8304c8 Tests: Update for coin-age priority 2024-03-10 19:12:39 +00:00
Luke Dashjr
30e24fa24e RPC: Restore "startingpriority" and "currentpriority" in mempool entries 2024-03-10 19:12:39 +00:00
Luke Dashjr
93015303eb RPC/Mining: Include priority delta in getprioritisedtransactions result 2024-03-10 19:12:39 +00:00
Luke Dashjr
b532312c29 Enable prioritisetransaction with priority delta 2024-03-10 19:12:38 +00:00
Luke Dashjr
cdfbda5f20 Policy: Restore support for mining based on coin-age priority
This reverts commit 7036cf52aa (and much more).
2024-03-10 19:12:20 +00:00
Luke Dashjr
e2f55d92f9 Merge branch 'AutoFile_error_check-26' into mining_priority 2024-02-23 15:29:53 +00:00
Luke Dashjr
8c0100012e Merge branch 'sendraw_force-26+knots' into mining_priority 2024-02-23 15:29:48 +00:00
Luke Dashjr
9bfaa5eedd Merge branch 'fee_histogram+pr15836_api' into mining_priority 2024-02-23 00:53:38 +00:00
Luke Dashjr
e16e6fec0d Merge branch 'uaappend' into mining_priority 2024-02-23 00:52:39 +00:00
Luke Dashjr
44577d68b2 Merge branch 'restore_blockmaxsize' into mining_priority 2024-02-23 00:52:33 +00:00
Luke Dashjr
52d24a26e8 Support ignoring package-fee-too-low rejection 2024-02-22 20:15:41 +00:00
Luke Dashjr
17ccbb53bb RPC/mempool: Accept ignore_rejects in sendrawtransaction's 2nd & 3rd params for backward compatibility with Knots <25 2024-02-22 20:15:40 +00:00
Luke Dashjr
1f28ef1d2f Bugfix: policy/rbf: Recognise "too many potential replacements" string in ignore_rejects 2024-02-22 20:09:24 +00:00
Luke Dashjr
26f729b5be QA: rpc_rawtransaction: Test ignore_rejects 2024-02-22 20:09:24 +00:00
Luke Dashjr
0df8a45225 RPC: Add support for ignore_rejects in testmempoolaccept 2024-02-22 20:09:23 +00:00
Luke Dashjr
ab4cfa1d02 Implement ignore_rejects for transaction packages 2024-02-22 20:08:46 +00:00
Luke Dashjr
7f3e4d8b4a node: Accept "absurdly-high-fee" and "max-fee-exceeded" reject reasons to ignore max_tx_fee 2024-02-22 20:08:46 +00:00
Luke Dashjr
095f2c1949 RPC: sendrawtransaction: Replace boolean allowhighfees with an Array of rejections to ignore (in a backward compatible manner) 2024-02-22 20:08:43 +00:00
Luke Dashjr
bbeee3ab3b node: Extend BroadcastTransaction to accept ignore_rejects 2024-02-22 20:08:19 +00:00
Luke Dashjr
86f162157f Make bad-witness-nonstandard rejection more specific, and support overriding some 2024-02-22 20:08:19 +00:00
Luke Dashjr
d07c82ce6a Ability to ignore AreInputsStandard rejection reasons 2024-02-22 20:08:19 +00:00
Luke Dashjr
d5b82da92c Ability to ignore IsStandardTx rejection reasons 2024-02-22 20:08:19 +00:00
Luke Dashjr
ccc3f45e09 AcceptToMemoryPool: Support overriding many top-level rejections 2024-02-22 20:08:19 +00:00
Luke Dashjr
79f8c5fabb AcceptToMemoryPool: Minimally change bool bypass_limits to unordered_set<string> ignore_rejects 2024-02-22 20:08:19 +00:00
Luke Dashjr
3badcde965 AreInputsStandard: Return specific reject reasons 2024-02-22 20:08:19 +00:00
Luke Dashjr
ee375a4c2f Merge branch 'fix_rpc_feerate_overflow-26' into sendraw_force-26+knots 2024-02-22 20:08:12 +00:00
MarcoFalke
1d9d47c497 doc: Clarify maxfeerate help
Github-Pull: #29434
Rebased-From: dddd7be9bf
2024-02-21 03:51:14 +00:00
MarcoFalke
2d35cc3995 rpc: Fixed signed integer overflow for large feerates
Github-Pull: #29434
Rebased-From: fa2a4fdef7
2024-02-21 03:51:14 +00:00
MarcoFalke
ea064f73bb rpc: Add ParseFeeRate helper
Github-Pull: #29434
Rebased-From: fade94d11a
2024-02-21 03:51:14 +00:00
MarcoFalke
c46bd008ae rpc: Implement RPCHelpMan::ArgValue<> for UniValue
Github-Pull: #29434
Rebased-From: fa0ff66109
2024-02-21 03:51:14 +00:00
Luke Dashjr
de43101fbc Diff-minimise 2024-02-21 00:27:35 +00:00
Vasil Dimov
70403c5bb7 util: check for error after reading from a file
`fread(3)` does not distinguish between end-of-file and error,
and callers must use `feof(3)` and `ferror(3)` to determine which
occurred.

Github-Pull: #29307
Rebased-From: 55439903212dcee6af09da7393a41e3754501b37
2024-02-21 00:27:35 +00:00
Vasil Dimov
f54c172ffe util: check for error from fclose(3) in explicit calls
Explicit callers of `AutoFile::fclose()` should check whether
`fclose(3)` failed because this may be due to a failure to
flush written data to disk. Such failures after writing to
a file should be treated as failures to `fwrite(3)`.

Github-Pull: #29307
Rebased-From: e9abf95ab52f1f2d6f73ecca63133c29c253b7d9
2024-02-21 00:27:35 +00:00
fanquake
a4690485d1
Merge bitcoin/bitcoin#29440: [26.1] final changes for 26.1rc1
1e7fb270d3 [doc] add release notes for 26.1rc1 (glozow)
0ffeaf237a [doc] update manual pages for 26.1rc1 (glozow)
d4aeb4a5a0 [build] bump version to 26.1rc1 (glozow)
c27793891a qt: 26.1rc1 translations update (Hennadii Stepanov)
40e7693fa1 ci: Switch native macOS CI job to Xcode 15.0 (Hennadii Stepanov)
72eab1ca64 build: Fix `-Xclang -internal-isystem` option (Hennadii Stepanov)

Pull request description:

  Final changes to tag a 26.1rc1.
  Bumps version numbers, man pages, adds release notes etc.

ACKs for top commit:
  hebasto:
    re-ACK 1e7fb270d3
  fanquake:
    ACK 1e7fb270d3

Tree-SHA512: 0f4146590d61f4f9322f3147f672ff2af48fc1d85c708b959adcbdb50b8f280570cb732d9f4a424c014046d07e9aa6e408fc3a0337dbaf8cbaea5283697da35a
2024-02-19 15:31:06 +00:00
glozow
1e7fb270d3 [doc] add release notes for 26.1rc1 2024-02-16 17:30:26 +00:00
glozow
0ffeaf237a [doc] update manual pages for 26.1rc1 2024-02-16 17:29:46 +00:00
glozow
d4aeb4a5a0 [build] bump version to 26.1rc1 2024-02-16 17:29:46 +00:00
Hennadii Stepanov
c27793891a qt: 26.1rc1 translations update
This change is a result if pulling the recent translations
from the Transifex website using the
bitcoin-maintainer-tools/update-translations.py tool.

A few manual adjustments were made:
- skipped removing of `bitcoin_af.ts`
- skipped removing of `bitcoin_ar.ts`
- skipped adding of `bitcoin_ru_RU.ts` (`bitcoin_ru.ts` is already
present)
2024-02-16 17:29:46 +00:00
Hennadii Stepanov
40e7693fa1 ci: Switch native macOS CI job to Xcode 15.0
Github-Pull: #29195
Rebased-From: d742be3d3f
2024-02-16 17:29:31 +00:00
Hennadii Stepanov
72eab1ca64 build: Fix -Xclang -internal-isystem option
LLVM Clang >=16.0 and Apple Clang >=15.0 do not recognize
`-Xclang -internal-isystem/usr/local/include` anymore.

For example, see: cbbe1d4454

Github-Pull: #29195
Rebased-From: 8decc5c726
2024-02-16 17:28:33 +00:00
fanquake
74df372750
Merge bitcoin/bitcoin#29209: [26.x] more backports
11f3a7e6ba Use hardened runtime on macOS release builds. (Mark Friedenbach)
ac1b9a51db [test] import descriptor wallet with reorged parent + IsFromMe child in mempool (glozow)
ecb8ebc660 [test] rescan legacy wallet with reorged parent + IsFromMe child in mempool (Gloria Zhao)
438ac2947d snapshots: don't core dump when running -checkblockindex after `loadtxoutset` (Mark Friedenbach)
7ec34554af [log] mempool loading (glozow)
fe0f8fe8aa net: create I2P sessions with both ECIES-X25519 and ElGamal encryption (Jon Atack)
fc62271015 [refactor] Add helper for iterating through mempool entries (stickies-v)

Pull request description:

  Backports for 26.x. Includes:
  - 453b481 from #28391
    - #29179
  - #29200
  - #29227
  - #28791
  - #29127

ACKs for top commit:
  stickies-v:
    ACK 11f3a7e6ba

Tree-SHA512: 20ef871ec768f2328056d83f958e595b36ae9b8baa8a6e8b0e1f02c3df4b16965a8e05dcb4323afbcc9ecc4bdde10931232512022c39ee7e12baf9795bf25bf1
2024-02-16 13:37:21 +00:00
Mark Friedenbach
11f3a7e6ba
Use hardened runtime on macOS release builds.
The Apple notary service requires submitted app bundles to be configured to use the hardened runtime libraries.  This is configured at signing time, and supported by the signapple tool Bitcoin Core uses for reproduceable signed binaries.  We simply need to pass "--hardened-runtime" when the signature is created.  Once attached to the bundle, the resulting codesigned binary can be successfully submitted to the Apple binary notarization service by any Apple Developer.

Github-Pull: #29127
Rebased-From: 4fdd836db9
2024-01-19 16:14:36 +00:00
glozow
ac1b9a51db
[test] import descriptor wallet with reorged parent + IsFromMe child in mempool
Test that wallet rescans process transactions topologically, even if a
parent's entry into the mempool is later than that of its child.
This behavior is important because IsFromMe requires the ability to look
up a transaction's inputs.

Co-authored-by: furszy <matiasfurszyfer@protonmail.com>

Github-Pull: #29179
Rebased-From: df30247705
2024-01-19 16:13:22 +00:00
Gloria Zhao
ecb8ebc660
[test] rescan legacy wallet with reorged parent + IsFromMe child in mempool
Test that wallet rescans process transactions topologically, even if a
parent's entry into the mempool is later than that of its child.
This behavior is important because IsFromMe requires the ability to look
up a transaction's inputs.

Github-Pull: #29179
Rebased-From: c3d02be536
2024-01-19 16:13:14 +00:00
Mark Friedenbach
438ac2947d
snapshots: don't core dump when running -checkblockindex after loadtxoutset
Github-Pull: #28791
Rebased-From: cdc6ac4126
2024-01-19 16:13:05 +00:00
glozow
7ec34554af
[log] mempool loading
Log at the top before incrementing so that this log isn't printed when
there's only 1 tx.

Github-Pull: #29227
Rebased-From: eb78ea4eeb
2024-01-19 16:12:57 +00:00
Jon Atack
fe0f8fe8aa
net: create I2P sessions with both ECIES-X25519 and ElGamal encryption
A Bitcoin Core node may only connect to a peer destination via I2P if both sides
have sessions with the same encryption type.  The encryption type is a property
of the session, not the destination.  Sessions may support multiple encryption
types.

As Bitcoin Core is not currently setting the I2P encryption type when creating
sessions, it is using the older default, ElGamal (type 0).

This pull updates Bitcoin Core to use both ECIES-X25519 and ElGamal (types 4 and
0, respectively).  This allows to connect to I2P peers with either type, and the
newer, faster ECIES-X25519 will be preferred.

See also the recently updated section "Signature and Encryption Types" in
https://geti2p.net/en/docs/api/samv3

Thanks and credit to zzzi2p (https://github.com/zzzi2p) for reporting.

Closes https://github.com/bitcoin/bitcoin/issues/29197.

Github-Pull: #29200
Rebased-From: 9d728916b2
2024-01-19 16:12:47 +00:00
stickies-v
fc62271015
[refactor] Add helper for iterating through mempool entries
Instead of reaching into the mapTx data structure, use a helper method
that provides the required vector of CTxMemPoolEntry pointers.

Github-Pull: #28391
Rebased-From: 453b4813eb
2024-01-19 16:12:23 +00:00
glozow
04edf9f586
Merge bitcoin/bitcoin#29011: [26.x] Backports
7b79e54474 doc: update release notes for 26.x (fanquake)
ccf00b1e6e wallet: Fix use-after-free in WalletBatch::EraseRecords (MarcoFalke)
40252e184e ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` to avoid failures (Hennadii Stepanov)
b06b14e68d rpc: getwalletinfo, return wallet 'birthtime' (furszy)
12834012c2 test: coverage for wallet birth time interaction with -reindex (furszy)
0fa47e2569 wallet: fix legacy spkm default birth time (furszy)
84f4a6c145 wallet: birth time update during tx scanning (furszy)
074296dd60 refactor: rename FirstKeyTimeChanged to MaybeUpdateBirthTime (furszy)
35039ac3cc fuzz: disable BnB when SFFO is enabled (furszy)
903b4623d3 test: add coverage for BnB-SFFO restriction (furszy)
05d0576d3c wallet: create tx, log resulting coin selection info (furszy)
5493ebbe74 wallet: skip BnB when SFFO is active (Murch)
b15e2e2cec test: add regression test for the getrawtransaction segfault (Martin Zumsande)
5097bb3389 rpc: fix getrawtransaction segfault (Martin Zumsande)
81e744a9a6 ci: Use Ubuntu 24.04 Noble for asan (MarcoFalke)
69e53d1e47 ci: Use Ubuntu 24.04 Noble for tsan,tidy,fuzz (MarcoFalke)
d2c80b6f52 doc: Missing additions to 26.0 release notes (fanquake)
8dc2c753ff doc: add historical release notes for 26.0 (fanquake)

Pull request description:

  Backports for `26.x`. Currently:
  * https://github.com/bitcoin/bitcoin/pull/28920
  * https://github.com/bitcoin/bitcoin/pull/28992
  * https://github.com/bitcoin/bitcoin/pull/28994
  * https://github.com/bitcoin/bitcoin/pull/29003
  * https://github.com/bitcoin/bitcoin/pull/29023
  * https://github.com/bitcoin/bitcoin/pull/29080
  * https://github.com/bitcoin/bitcoin/pull/29176

ACKs for top commit:
  TheCharlatan:
    ACK 7b79e54474
  glozow:
    ACK 7b79e54474, matches mine

Tree-SHA512: 898aec76ed3ad35e0edd0980af5bcc21bd60003bbf69e0b4f473ed2aa38c4e3b360b930bc3747cf798195906a8f9fe66417524f5e5ef40fa68f1c1aaceebdeb0
2024-01-09 15:39:19 +00:00
Luke Dashjr
a3b549e003 Merge branch 'fix_bytespersigop_checks-mini' into sendraw_force-26+knots 2024-01-07 02:17:59 +00:00