Skip to content

Conversation

Quexington
Copy link
Contributor

This PR merges the concepts of regular and "convenient" transaction records. This soft type difference has been a source of headaches for a long time and causes a lot of pain when trying to add marshalling to the RPCs for endpoints that return transaction records.

The key to this change (apart from the prior memos change that laid the groundwork) is to add to_address as a mandatory field on the TransactionRecord object. We already have some backwards compatibility code from when we added the timelock information to transaction records (#15915) so supporting parsing older transaction records from the DB is no big problem. This does technically break backwards compatibility for RPCs which take transaction records of which there is only one or two that I think are not commonly used (built for observer mode functionality that is somewhat uncommon). It adds a field to the responses as well, but added fields shouldn't constitute breaking changes.

@Quexington Quexington requested a review from a team as a code owner July 23, 2025 14:07
@Quexington Quexington changed the title Remove TransactionRecord.*_json_dict_convenience [CHIA-3419] Remove TransactionRecord.*_json_dict_convenience Jul 23, 2025
@Quexington Quexington added the Changed Required label for PR that categorizes merge commit message as "Changed" for changelog label Jul 23, 2025
Base automatically changed from quex.use_dicts_for_tx_record_memos to main July 23, 2025 20:17
@github-actions github-actions bot added the merge_conflict Branch has conflicts that prevent merge to main label Jul 23, 2025
@github-actions github-actions bot added coverage-diff and removed merge_conflict Branch has conflicts that prevent merge to main labels Jul 24, 2025
Copy link
Contributor

github-actions bot commented Aug 5, 2025

File Coverage Missing Lines
chia/wallet/transaction_record.py 85.7% lines 110
chia/wallet/wallet_rpc_client.py 80.0% lines 174
Total Missing Coverage
69 lines 2 lines 97%

@Starttoaster Starttoaster merged commit e8e060b into main Aug 5, 2025
519 of 521 checks passed
@Starttoaster Starttoaster deleted the quex.get_rid_of_tx_record_json_dict_convenience branch August 5, 2025 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changed Required label for PR that categorizes merge commit message as "Changed" for changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants