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

backport: Merge bitcoin#29869, 29022, 29434#7656
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
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.

3 participants