Skip to content

Conversation

@jamillambert
Copy link
Collaborator

waitforblock, waitforblockheight and waitfornewblock were added to the Core API docs in v30 under blockchain. The RPCs have been there since before v17.

Add the RPCs to v17, and add to the types table in v30.

  • The hidden module in v21 had a copy-paste error and stated it was for the generating section.
    • Update the documentation to state that the methods are hidden.
  • blockchain__get_tx_out_proof__modelled is identical to blockchain__verify_tx_out_proof__modelled, and the method gettxoutproof is tested above in blockchain__get_tx_out_proof.
    • Remove the redundant test.
  • The model part of the verify_tx_out_proof test was in it's own function that the test function called. Other tests all check the model in the same test.
    • Combine them into one function.
    • Place it in the correct location.
    • Remove associated import.
  • Add waitforblock, waitforblockheight and waitfornewblock methods to v17. They are hidden until v30 with no changes.

@jamillambert
Copy link
Collaborator Author

jamillambert commented Oct 16, 2025

Converting to draft to fix CI test fail that does not happen locally.

Actually it does occur locally, I only checked 17 and 30. For some reason only v23-26 fail.

Update: Problem fixed, although I don't understand why it only affected v23-26.

@jamillambert jamillambert marked this pull request as ready for review October 16, 2025 08:15
@jamillambert
Copy link
Collaborator Author

jamillambert commented Oct 16, 2025

The three RPCs have the same return shape. I made 3 seperate types since they only have a block hash and height in them it made no sense to have a seperate internal type that only has those 2 values in it. I considered having one type e.g. WaitForBlock and the other two use that, but then the type name doens't match the RPC name.

@tcharding
Copy link
Member

Needs rebase please mate.

The hidden module had a copy-paste error and stated it was for the
generating section.

Update the documentation to state that the methods are hidden and not
shown in the COre API docs.
blockchain__get_tx_out_proof__modelled is identical to
blockchain__verify_tx_out_proof__modelled, and the method gettxoutproof
is tested above in blockchain__get_tx_out_proof.

Remove the redundant test.
The model part of the verify_tx_out_proof test was in it's own function
that the test function called. Other tests all check the model in the
same test.

Combine them into one function. Place it in the correct location.
Remove associated import.
Add waitforblock, waitforblockheight and waitfornewblock methods to v17.
They are hidden until v30 with no changes.
@jamillambert
Copy link
Collaborator Author

Rebased

Copy link
Member

@tcharding tcharding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 8b0a914

@tcharding tcharding merged commit c29fd55 into rust-bitcoin:master Oct 27, 2025
30 checks passed
tcharding added a commit that referenced this pull request Nov 9, 2025
2343534 Update listwalletdir for v30 changes (Jamil Lambert, PhD)
cb73a83 Update getwalletinfo for v30 changes (Jamil Lambert, PhD)
86c40a4 Document that migratewallet is untested in v30 (Jamil Lambert, PhD)
4dbd863 Add deprecated flag to v30 settxfee test (Jamil Lambert, PhD)

Pull request description:

  There are four remaining RPCs that have changes in v30 that need to be implemented:

  - `settxfee` is deprecated in v30 and removed in v31. Feature gate the test to v30 and below and for v30 add the required `-deprecatedrpc=settxfee` flag. Remove TODO from the types table.
  - In v30 it is no longer possible to create a legacy wallet. This means that `migratewallet` cannot be tested using only v30. There are no changes to the RPC in v30 so the v29 test is still valid. Add a comment to the types table and test.
  - `getwalletinfo` had some return fields removed in v30 and a new flags field was added. Update the model to make the removed fields options and add the new flags. Update all the into functions. Redefine the type, error and into function for v30. Remove the TODO from the types table. Remove the `v29_and_below` feature gate from the test.
  - `listwalletdir` has a new `warnings` field was added in v30. Redefine the type for v30, there is no model. Remove the TODO from the types table. Remove the `v29_and_below` feature gate from the test.

  Together with #387, #388, #409 and #410 Closes #384

ACKs for top commit:
  tcharding:
    ACK 2343534

Tree-SHA512: 788e6150778dc722c7db79e63240d4c82d3ceca59ec859edd516d1ea8860671754be3072f4b5bdd391dac919bba6a61935c99df4bb3b4325cf981271ef4e87bf
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.

2 participants