Commit Graph

1579 Commits

Author SHA1 Message Date
Luke Dashjr
9d18c6ea47 Merge bytespersigopstrict-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
5ba611afd0 Merge 30232 via refactor_isstandardtx_mpopts-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
7b898f1d01 Merge truc_opts-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
a1e42756c1 Merge 7219 via rbf_opts-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
07464b1321 Merge mining_priority 2025-03-05 03:27:08 +00:00
Luke Dashjr
9d121259d7 Merge 7533 via sendraw_force-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
637b1c54da Merge 15861 via restore_vbits_warning 2025-03-05 03:27:08 +00:00
Luke Dashjr
4463660524 Merge 12965 via scriptthreads-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
8646f7adcf Merge 8501 via old_stats_rpc-28 2025-03-05 03:27:08 +00:00
Luke Dashjr
990ff83c56 Merge ionice_win 2025-03-05 03:27:08 +00:00
Luke Dashjr
67d111426a Match Windows I/O priority to other platforms: loading external block files and reading blocks raw 2025-03-05 17:28:03 +00:00
Luke Dashjr
45fa891549 Merge branch 'ionice' into ionice_win 2025-03-05 17:21:08 +00:00
Luke Dashjr
20f5b5a056 Merge 9245 via ionice 2025-03-05 03:27:08 +00:00
Luke Dashjr
8de796420d Merge 31534 via log_big_utxo_flush-26 2025-03-05 03:27:08 +00:00
Luke Dashjr
97b67babbe Merge 21780 via rpc_maxmempool 2025-03-05 03:27:08 +00:00
Luke Dashjr
2fc6668792 Merge 19873 via mempressure 2025-03-05 03:27:08 +00:00
Luke Dashjr
d8114ff110 Merge 19463 via prune_locks 2025-03-05 03:27:08 +00:00
Luke Dashjr
ef80edf7c0 Merge 31097 via scripterr_prefer_consensus-28 2025-03-05 03:27:08 +00:00
Luke Dashjr
878cbd9c54 Merge 31064 via init_coins_cache_pr31064-25 2025-03-05 03:27:08 +00:00
Luke Dashjr
046057b0df Merge 30909 via fix_GVP_assumeutxo_pr30909-28 2025-03-05 03:27:08 +00:00
Luke Dashjr
cbecc46733 Restore original bytespersigop as bytespersigopstrict
Plus a bugfix to accurately count sigops for this purpose
2025-02-21 23:45:58 +00:00
Luke Dashjr
b63bf026ee Merge branch 'permitbarepubkey-28+knots' into bytespersigopstrict-28+knots 2025-02-21 23:45:54 +00:00
Luke Dashjr
ac776591f7 Merge branch 'rpc_maxmempool' into bytespersigopstrict-28+knots 2025-02-21 23:45:51 +00:00
Luke Dashjr
8a59be43ed Merge branch 'truc_opts-28+knots' into permitbarepubkey-28+knots 2025-02-21 23:45:16 +00:00
Luke Dashjr
3dbae62c64 Add mempooltruc=reject/accept/enforce option to enable TRUC support 2025-02-21 23:44:25 +00:00
Luke Dashjr
9b6167f697 Rework mempoolreplacement option handling 2025-02-21 23:43:46 +00:00
Luke Dashjr
8247f0741d Restore -mempoolreplacement option to allow disabling opt-in RBF
This partially reverts commit 8053e5cdad.
2025-02-21 23:43:46 +00:00
Luke Dashjr
f06d7bc13d Merge branch 'sendraw_force-28+knots' into rbf_opts-28+knots 2025-02-21 23:43:27 +00:00
Luke Dashjr
bf19342e51 Optimise coin-age priority by splitting up steps to calculate it
double priority = GetPriority(tx, view, height, ICIV);
becomes
    const double coin_age = GetCoinAge(tx, view, height, ICIV);
    const auto mod_vsize = CalculateModifiedSize(tx);
    const double priority = ComputePriority2(coin_age, mod_vsize);
2025-02-21 23:41:44 +00:00
Luke Dashjr
618063821e Enable prioritisetransaction with priority delta 2025-02-21 23:41:44 +00:00
Luke Dashjr
678978f6f6 Policy: Restore support for mining based on coin-age priority
This reverts commit 7036cf52aa (and much more).
2025-02-21 23:41:44 +00:00
Luke Dashjr
ba86144e77 Merge branch 'sendraw_force-28+knots' into mining_priority 2025-02-21 17:13:06 +00:00
Luke Dashjr
734576e3e3 refactor: policy: Pass kernel::MemPoolOptions to IsStandard[Tx] rather than long list of individual options
Github-Pull: #30232
Rebased-From: d4c3c2e9ae2536c345cc8f20c2de3a466eef7ced
2025-02-21 17:04:43 +00:00
Luke Dashjr
cf0c04f0cf Merge branch 'mempressure' into rbf_opts-28+knots 2025-02-21 16:43:15 +00:00
Luke Dashjr
8e36e6951d Bugfix: Ignore "min relay fee not met" using the correct ignore_rejects string 2025-02-21 16:41:12 +00:00
Luke Dashjr
a25c4629a8 Support manually overriding TRUC policy checks 2025-01-23 03:01:51 +00:00
Luke Dashjr
cf65351293 Give separate reject reasons to each TRUC check 2025-01-23 03:01:51 +00:00
Luke Dashjr
416646d1ca Support ignoring package-fee-too-low rejection 2025-01-23 03:01:51 +00:00
Luke Dashjr
ce3e33cde2 Implement ignore_rejects for transaction packages 2025-01-23 03:01:51 +00:00
Luke Dashjr
cd1b140d5b node: Extend BroadcastTransaction to accept ignore_rejects 2025-01-23 03:01:51 +00:00
Luke Dashjr
9a7339f672 Make bad-witness-nonstandard rejection more specific, and support overriding some 2025-01-23 03:01:51 +00:00
Luke Dashjr
d926fd0325 Ability to ignore AreInputsStandard rejection reasons 2025-01-23 03:01:50 +00:00
Luke Dashjr
b716189d95 Ability to ignore IsStandardTx rejection reasons 2025-01-23 03:01:50 +00:00
Luke Dashjr
9ebc373637 AcceptToMemoryPool: Support overriding many top-level rejections 2025-01-23 03:01:50 +00:00
Luke Dashjr
8a18e6513c AcceptToMemoryPool: Minimally change bool bypass_limits to unordered_set<string> ignore_rejects 2025-01-23 03:01:50 +00:00
Luke Dashjr
b115c10755 AreInputsStandard: Return specific reject reasons 2025-01-23 03:01:50 +00:00
Lőrinc
dd7f647637 coins: warn on shutdown for big UTXO set flushes
Setting a large `-dbcache` size postpones the index writes until the coins cache size exceeds the specified limit.
This causes the final flush after manual termination to seemingly hang forever (e.g. tens of minutes for 20 GiB);
Now that the `dbcache` upper cap has been lifted, this will become even more apparent, so a warning will be shown when large UTXO sets are flushed (currently >1 GiB), such as:
> 2024-12-18T18:25:03Z Flushed fee estimates to fee_estimates.dat.
> 2024-12-18T18:25:03Z [warning] Flushing large (1 GiB) UTXO set to disk, it may take several minutes
> 2024-12-18T18:25:09Z Shutdown: done

Note that the related BCLog::BENCH units were also converted to `KiB` from `kB` to unify the bases.

Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>

Github-Pull: #31534
Rebased-From: 5709718b83
2025-01-15 15:29:22 +00:00
Luke Dashjr
a546dfb3ba Warnings: Split UNKNOWN_NEW_RULES_SIGNAL_VBITS and UNKNOWN_NEW_RULES_SIGNAL_INTVER out of UNKNOWN_NEW_RULES_ACTIVATED
Side effect: Only the first vbit to activate becomes a warning; subsequent activations are ignored
Rationale: The first is the most relevant, and previously, subsequent activations would override it; this behaviour matches Core, so is also more compatible
2024-12-05 20:03:28 +00:00
Luke Dashjr
24462fde47 Warn in the debug log (only) for blocks where the block version is being abused 2024-12-05 19:51:43 +00:00
Luke Dashjr
c38f2685f4 Make protocol change warning clearer 2024-12-05 19:51:43 +00:00