Skip to content

fix(wasm-utxo): make isShielded nullable and preserve Unified Address on shielded outputs - #365

Merged
veetragjain merged 4 commits into
masterfrom
veetragjain/cshld-1528-preserve-unified-addresses-in-shielded-output-parsing
Aug 21, 2026
Merged

fix(wasm-utxo): make isShielded nullable and preserve Unified Address on shielded outputs#365
veetragjain merged 4 commits into
masterfrom
veetragjain/cshld-1528-preserve-unified-addresses-in-shielded-output-parsing

Conversation

@veetragjain

Copy link
Copy Markdown
Contributor

addShieldedOutput only stored the raw 43-byte Orchard receiver, so parsing a shielded output back out always reconstructed a single-receiver Unified Address, silently dropping any transparent/Sapling receiver the original UA carried. Add an optional unifiedAddress parameter, validate its Orchard receiver against recipient, and store it verbatim in the PSBT's proprietary map so parsing returns the original UA, receivers and all, even after a serialize/deserialize round-trip.

Ticket: CSHLD-1528

@linear-code

linear-code Bot commented Aug 21, 2026

Copy link
Copy Markdown

CSHLD-1528

@veetragjain
veetragjain force-pushed the veetragjain/cshld-1528-preserve-unified-addresses-in-shielded-output-parsing branch from 710fa78 to 11d3e33 Compare August 21, 2026 09:45
@veetragjain
veetragjain marked this pull request as ready for review August 21, 2026 10:21
@veetragjain
veetragjain requested review from a team as code owners August 21, 2026 10:21
Allow WASM serializers to add properties only when their Option values are
present, and cover the behavior in a WASM test.

Refs: CSHLD-1528
Avoid serializing a null isShielded property for non-Zcash outputs,
preserving the distinction between false and unsupported.

Refs: CSHLD-1528
Keep parsed outputs coin-agnostic while binding Zcash PSBT parsing to outputs
with a required isShielded flag.

Refs: CSHLD-1528

@manas-at-bitgo manas-at-bitgo left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm

@veetragjain
veetragjain merged commit 44a9040 into master Aug 21, 2026
13 checks passed
@veetragjain
veetragjain deleted the veetragjain/cshld-1528-preserve-unified-addresses-in-shielded-output-parsing branch August 21, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants