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
In this commit, we fix an existing bug related to lock times and split
commitments. Before this commit, if an input had a relative lock time,
then when we went to make the new split assets, we would _copy_ that
value into the split. This isn't correct as the input is
valid/confirmed, so we don't need to copy over the lock time
information.
The prior behavior would cause certain classes of spends to fail, as
we would be validating a new root asset that has no lock time, but the
root asset split inserted into the split commitment would be carrying
the old lock time. When verifying the split, we would set the lock times
of the split to that of the new asset:
https://github.com/lightninglabs/taproot-assets/blob/e893dee87e9d8f0de53b8ee9e2527add80df6491/vm/vm.go#L305-L307.
As we copied over the lock time from the input, we would now effectively
invalid the split commitment.
Fixes#1099
To make sure the incorrect proof isn't used in any new transfers, the asset UTXO was leased for a year.
Based on my investigation, the proof for the output on disk is correct. The bug was that we didn't clear the prior relative lock time when making the split leaf. So once #1103 is in, affected users should be able to spend the input again as normal.
Reported by @vanditshah99 on Slack.
Error message:
Asset output:
Transfer output:
Full proof:
proof-file.hex.txt
Short term mitigation
To make sure the incorrect proof isn't used in any new transfers, the asset UTXO was leased for a year.
SQLite query for future reference:
Outpoint is
37479479423e4c839c4c8445e5aba6c410e335bb7bf047dbbb2b111d12baaaf1:0
serialized using https://guggero.github.io/cryptography-toolkit/#!/encoding-decoding (see "Bitcoin Outpoint" section)Reproduction
Initial attempt at reproduction: lightninglabs/lightning-terminal#825
The text was updated successfully, but these errors were encountered: