Closed lnsiegel closed 2 months ago
Attention: Patch coverage is 47.22222%
with 19 lines
in your changes missing coverage. Please review.
Project coverage is 55.57%. Comparing base (
ab2af32
) to head (d7606da
). Report is 203 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Motivation
transaction_log_ids
created by full-service are used to lookup records in thetransaction_log
within the local wallet database.Many third-party full-service clients expose this id to their users, expecting it to be the equivalent of other blockchain's transaction ids -- a hash that can be used to find evidence of the transaction on the blockchain itself.
Up until now, this has not been the case. While it was a 32 byte hash, represented as a 64 character hex string, the information being hashed included information private to the wallet database and so could not be used to find evidence of the transaction on the blockchain itself.
In this PR
This PR updates the algorithm for creating new
transaction_log_ids
(historical ids will remain unchanged) to use public blockchain information only. Specifically, we now use thepublic_key
of one of the transaction'spayload_txos
as thetransaction_log.id
for newly createdtransaction_log
entries. This will result in improved experiences for when thetransaction_log.id
is shared with end users and used by them to, for example, search for the transaction in the block-explorer.Meanwhile clients that use the
transaction_log.id
to look uptransaction_logs
can still use it the same as always.