Zebra is writing revealed nullifiers to the finalized state here. Zebra is not using TypedColumnFamily or TypedWriteBatch for the the nullifier column families, so the transaction hashes can be added as values when writing to the finalized state without any other changes. It will also need a db format upgrade that goes through all of the transactions and rewrites the nullifiers with transaction hashes.
Revealed nullifiers in the non-finalized chains are stored here, where the field types can be updated to HashMap<Nullifier, transaction::Hash>s, and the transaction hashes can be added here where the nullifier sets are updated.
Motivation
This is needed for the zcashd replacement wallet.
Design
The transaction hash of the transaction revealing a nullifier can be added as the value as these column families currently only store keys.
Zebra is writing revealed nullifiers to the finalized state here. Zebra is not using
TypedColumnFamily
orTypedWriteBatch
for the the nullifier column families, so the transaction hashes can be added as values when writing to the finalized state without any other changes. It will also need a db format upgrade that goes through all of the transactions and rewrites the nullifiers with transaction hashes.Revealed nullifiers in the non-finalized chains are stored here, where the field types can be updated to
HashMap<Nullifier, transaction::Hash>
s, and the transaction hashes can be added here where the nullifier sets are updated.