Skip to content

Conversation

@jamillambert
Copy link
Collaborator

@jamillambert jamillambert commented Aug 28, 2025

Both RPCs were implemented for v17 and untested, and the structs are not exactly what is returned by the RPC in v17 since some of the fields are optional or undocumented.

  1. In preparation for changes (Code move only):
    • Move v25 wallet to subdirectory
    • Move wallet.rs to ./wallet/mod.rs
    • Split out the into_model() into an into module.
  2. Update and test listsinceblock.
    • Fix the listsinceblock struct for v17.
    • Update the struct, model, into_model, and error for changes in v20, v23, v24 and v28.
    • Add a test and update the types tables.
  3. Find out that listtransactions has the exact same sub type, including the changes to the returned fields updated in the above patch.
    • Rename the updated structs ListSinceBlockTransaction to TransactionItem and the associated error. Use this for ListTransactions.
    • Update the types in all versions where this changes so that the updated version is used for ListTransactions.
    • Add a test for listtransactions.
  4. Run the formatter.

@jamillambert jamillambert changed the title Test and update listsinceblock Test and update listsinceblock and listtransactions Aug 28, 2025
Move wallet.rs to ./wallet/mod.rs

Split out the into_model() into an into module.

Code move only.
The RPC was implemented for v17 and untested. Some fields are optional
or undocumented.

Fix the struct for v17. Update the struct, model, into_model, and error
for changes in v20, v23, v24 and v28.

Add a test and update the types tables.
Both RPCs return the same shape sub type. Including the changes in
versions between 17 and 29.

ListSinceBlockTransaction has all the changes implemented up to v29.

Use ListSinceBlockTransaction for both RPCs including the error and into
functions. Rename it to TransactionItem to be more general.

Remove ListTransactionsItem and associated error and into functions.
The RPC was implemented for v17 and untested. 

The struct now uses the fixed `TransactionItem` struct and associated
error and into functions.

Update all the version types to use the fixed `TransactionItem`.

Add a test and update the types tables.
Reordering of the reexports only
@jamillambert
Copy link
Collaborator Author

Rebased

@jamillambert jamillambert marked this pull request as ready for review September 3, 2025 10:08
Comment on lines -24 to +25
// - ListSinceBlockTransaction
// - ListTransactionsItem
// - TransactionItem
// - TransactionItem
Copy link
Member

Choose a reason for hiding this comment

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

Duplicate, typo?

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 a07b91c

@tcharding
Copy link
Member

GitHub seems to be glitching out

github-merge 347                                                                                                                                                              ✘ 1 
Warning: unable to retrieve pull information from github: HTTP Error 403: rate limit exceeded
Detailed error: b'{"message":"API rate limit exceeded for 106.69.114.232. (But here\'s the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}\n'

Merging manually. We can fix the docs typo thing later.

@tcharding tcharding merged commit 648d812 into rust-bitcoin:master Sep 4, 2025
30 checks passed
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