Implement darkside getaddresstxids support#551
Open
zmanian wants to merge 1 commit intozcash:masterfrom
Open
Conversation
LarryRuane
requested changes
Feb 25, 2026
Collaborator
LarryRuane
left a comment
There was a problem hiding this comment.
The GetTaddressTxids method has been deprecated, but it was actually recently renamed to GetTaddressTransactions (see around line 255 of service.proto). This rename was done because the old name was confusing, since this method returned full transactions, not just txids. (And it looks like this misled you too when writing this PR!)
So this PR will need to implement the functionality of GetTaddressTransactions, which will affect the two darkside methods you added; i.e., the darksideAddressTxid type will have to store transactions instead of txids.
Add staging for address-transaction associations in darkside mode so wallet clients using GetTaddressTransactions can detect transparent outputs during integration testing. Follows the existing AddAddressUtxo/ClearAddressUtxo pattern. Store full transaction bytes rather than just txids, making the helper self-contained: callers don't need to separately stage the transaction into a block for getrawtransaction to find it. The getaddresstxids handler parses stored transactions to compute txids on the fly, and darksideGetRawTransaction searches address transactions directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ee0a38c to
c58b262
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implement the
getaddresstxidsRPC in darkside test mode so wallet clients (e.g. Zingo) that useGetTaddressTransactionscan detect transparent outputs during integration testing. Previously this returned"not implemented yet".Fixes #455
Approach
Adds a staging mechanism for address-transaction associations following the existing
AddAddressUtxo/ClearAddressUtxopattern:DarksideAddressTransactionwith address, raw transaction bytes (data), and height fieldsAddAddressTransactionandClearAddressTransactionsonDarksideStreamergetaddresstxidshandler in darkside mode parses each stored transaction to compute its txid, then filters by address and block rangedarksideGetRawTransactionalso searches stored address transactions, sogetrawtransactioncan find them without requiring separate staging into blocksGetTaddressTransactionsflow works end-to-end:getaddresstxidsreturns txids, thengetrawtransactionreturns the full transaction bytesStoring full transaction bytes (rather than just txids) makes the helper self-contained -- callers don't need to separately stage the transaction into a block for
getrawtransactionto find it.Test plan
go build ./...compiles cleanlygo vet ./common/... ./frontend/...passes with no new warningsgo test ./...all existing tests passAddAddressTransactionwith address/raw-tx/height, then callGetTaddressTransactionsand verify the transaction is returnedGenerated with Claude Code