Skip to content

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

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

vijaydasmp wants to merge 2 commits into
dashpay:developfrom
vijaydasmp:Branch_9_1

Conversation

@vijaydasmp

Copy link
Copy Markdown

Bitcoin backporting

…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
@vijaydasmp vijaydasmp changed the title backport: Merge bitcoin#29869, 28788, 28764, 29022, 29434 backport: Merge bitcoin#29869, 29022, 29434 Sep 4, 2026
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
@github-actions

Copy link
Copy Markdown

This pull request has conflicts, please rebase.

@thepastaclaw

Copy link
Copy Markdown
Collaborator

🕓 Review not started yet because this PR is a draft.

  • Request normal review — click when the PR is ready for review.
  • Request priority review — click to move this review to the front of the queue.

Commit f6ee693. Normal review starts when eligible; priority review starts as soon as a slot is available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants