You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need a way to represent a parsed Unified Address in memory, such that:
It is round-trip serializable.
Unknown receivers are cached in memory.
Receiver ordering is preserved.
It can be converted into a form that senders can use to create transactions. This could take two approaches:
Map the entire UA to the sender's types (so e.g. if the sender only supports transparent and Sapling, an Orchard address would be dropped, but otherwise the sender would see a Vec<Receiver>).
This would be a simple API that directly shows the sender's wallet the set of common supported receivers, which may make it easier to implement sender preference logic (e.g. no-transparent).
It would leave each wallet to implement the preference logic (e.g. preferring Orchard over Sapling).
Build the receiver preference logic into the conversion: the sender gets the best receiver that their sending logic supports.
This would help to provide consistency across multiple wallet implementations.
If we wanted to provide sender-preference logic (not just sender-supports logic) then we'd need to expand the API to accept the set of receiver types the sender is willing to use.
This will very likely be part of the zcash_address crate in #352.
The text was updated successfully, but these errors were encountered:
We need a way to represent a parsed Unified Address in memory, such that:
Vec<Receiver>
).This will very likely be part of the
zcash_address
crate in #352.The text was updated successfully, but these errors were encountered: