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.

Draft because on top of #345, this PR is the last four patches.

The RPC struct exists but there is no client macro or test. The return 
changes in v18 and then stays the same up to v29.

Add an updated struct for v18.

Add the client macro, test and update the types table.
Reordering of the reexports only.
`sendmany` has a new verbose return type in v18.

The client macro sends the amount of sats but the RPC takes BTC.

Add the verbose struct to v18 and model.

Update the client macro.

Add a verbose client macro, test and update the types table.
`getwalletinfo` was implemented for v17 only and untested. There are 
return changes in v18, v19, v21, v23 and v26.  Add the updated structs 
in all versions, update the model and add new  `into_model()`.  Add a 
test with version specific sections to test the new sub-structs.  
Update the types tables and reexports.
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.
@jamillambert jamillambert changed the title Test and update listsinceblock Test and update listsinceblock and listtransactions Aug 28, 2025
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
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.

1 participant