Skip to content

backport: Merge bitcoin#29869, 28788, 28764, 29022, 29434 - #7656

Draft
vijaydasmp wants to merge 5 commits into
dashpay:developfrom
vijaydasmp:Branch_9_1
Draft

backport: Merge bitcoin#29869, 28788, 28764, 29022, 29434#7656
vijaydasmp wants to merge 5 commits into
dashpay:developfrom
vijaydasmp:Branch_9_1

Conversation

@vijaydasmp

Copy link
Copy Markdown

Bitcoin backporting

achow101 and others added 5 commits September 2, 2026 00:01
…rates

dddd7be doc: Clarify maxfeerate help (MarcoFalke)
fa2a4fd rpc: Fixed signed integer overflow for large feerates (MarcoFalke)
fade94d rpc: Add ParseFeeRate helper (MarcoFalke)
fa0ff66 rpc: Implement RPCHelpMan::ArgValue<> for UniValue (MarcoFalke)

Pull request description:

  Passing large BTC/kvB feerates to RPCs is problematic, because:

  * They are likely a typo. 1BTC/kvB (or larger) seems absurd.
  * They may cause signed integer overflow.
  * Anyone really wanting to pick such a large value can set `0` to disable the check.

  Fix all issues by rejecting anything more than 1BTC/kvB during parsing.

ACKs for top commit:
  brunoerg:
    crACK dddd7be
  achow101:
    ACK dddd7be
  vasild:
    ACK dddd7be
  tdb3:
    Code review ACK and basic test ACK for dddd7be.
  fjahr:
    utACK dddd7be

Tree-SHA512: 5dcce1f0abe059dc6b2ff56787e11081d73a45b4ddd6dcc2c1ea13709ebc13af5e7265e84fffb97ef32027b56b81955672a67ed7702e8fa30c2e849d67727bac
98afe78 doc: Update bitcoin-tx replaceable documentation (Kashif Smith)
94feaf2 tests: Add unit tests for bitcoin-tx replaceable command (Kashif Smith)
c2b836b bitcoin-tx: Make replaceable value optional (Kashif Smith)

Pull request description:

  This fixes bitcoin#28638. The issue was originally raised by dooglus, who also suggested the patch found in this code. Additionally, test coverage has been added and documentation has been updated.

ACKs for top commit:
  achow101:
    ACK 98afe78
  pinheadmz:
    ACK 98afe78
  hernanmarino:
    Tested ACK 98afe78
  instagibbs:
    untested ACK bitcoin@98afe78

Tree-SHA512: ea1384aba7b0014c8cbeb7280d66b1e617d406fb02471dff33873057132b80518c94c7caa4b0426c26d17ce8aa393107de319dde781ace8df72f0314c8c75159
…nvariants

fcb3069 Use CheckPackageMempoolAcceptResult for package evaluation fuzzing (Greg Sanders)
34088d6 [test util] CheckPackageMempoolAcceptResult for sanity-checking results (glozow)
651fa40 fuzz: tx_pool checks ATMP result invariants (Greg Sanders)

Pull request description:

  Poached from bitcoin#26711 since that PR is being split apart, and modified to match current behavior.

ACKs for top commit:
  glozow:
    reACK fcb3069, only whitespace changes
  dergoegge:
    ACK fcb3069

Tree-SHA512: abd687e526d8dfc8d65b3a873ece8ca35fdcbd6b0f7b93da6a723ef4e47cf85612de819e6f2b8631bdf897e1aba27cdd86f89b7bd85fc3356e74be275dcdf8cc
…urn all error strings

5380f05 test: bugfix CheckPackageMempoolAcceptResult return all error strings (Greg Sanders)

Pull request description:

  Noticed on follow-up testing work https://github.com/bitcoin/bitcoin/pull/28764/files#r1382150706

ACKs for top commit:
  glozow:
    utACK 5380f05
  dergoegge:
    utACK 5380f05

Tree-SHA512: abe122b5d702aaa0d731b45f6ba0f2f8ff9ecc14398cc087df56ee0980b5b483fc159d38ec36fe6360f82e5443673cfa80afc1c9cee6b840c95703b7dc8a8d3f
c2e0489 [rpc, bugfix] Enforce maximum value for setmocktime (dergoegge)

Pull request description:

  The maximum value for our mocktime must be representable in nanoseconds, otherwise we end up with negative values returned from `NodeClock::now()`.

  Found through fuzzing:

  ```
  $ echo "c2V0bW9ja3RpbWVcZTptYf9w/3NldG3///////////////9p////ZP///ymL//////89////Nv9L////////LXkBAABpAA==" | base64 --decode > rpc-8cab9148ab4418ebd1923c213e9d3fe9c9b49b39.crash
  $ FUZZ=rpc ./src/test/fuzz/fuzz rpc-8cab9148ab4418ebd1923c213e9d3fe9c9b49b39.crash
  fuzz_libfuzzer: util/time.cpp:28: static NodeClock::time_point NodeClock::now(): Assertion `ret > 0s' failed.
  ```

ACKs for top commit:
  maflcko:
    re-ACK c2e0489
  brunoerg:
    crACK c2e0489
  glozow:
    ACK c2e0489

Tree-SHA512: d7e237ca37bedd74a6b085fb6e726a142705371044c77488f593f35afe70aeca756fdba86920294b1d322c7a9b2cde9ce4e1b7d410a6ccc1fd7c6f3a6e77200a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants