-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug]: Not all transfer proofs generated #1168
Comments
I see this:
So some proof wasn't created correctly... I'll investigate. |
@youngzhenhao I did take a closer look and it seems like the one proof (for index 0) that was generated is valid. So something must be up with index 1 and later. If that's problematic, I can also send you a query you can run to just extract some of the invalid proofs from the DB. Let me know what works best for you. |
Thank you for the DB, that was really helpful. So I think you ran into an edge case which should be disallowed (but apparently the check for this hasn't been implemented). The problem is that you have multiple transfers with different anchor transaction output indexes that use the same asset ID and same script key (probably by using the same Taproot Asset address multiple times):
This breaks the exclusion proofs... So we'll need to add a check for that. Are these new assets? Can you re-issue them? Because I'm not sure these proofs can be corrected, since they break a fundamental property of the protocol. |
I did not check the same asset address, that seems to be the problem. |
Yes, I think some of assets can be restored, while others might be lost due to the error... I created a fix here: #1181, but unfortunately that will just make sure it doesn't happen again. Do you want me to look into manually fixing parts of the proofs? Or can you somehow re-issue the assets? It's not clear to me whether you received them or minted them yourself. |
It is received assets, and here's a proof of receipt, but their UTXO has been spent. Is it possible to restore these assets? |
I'll try my best to restore some of the assets. I'll get back to you soon. |
Okay, I was able to create valid proofs from the template for all but 4 of the outputs. So that means 300'000 of the units are effectively burned (
If you have questions or get an error during any of the steps, please let me know! |
It does work. Thanks for all your help! |
Background
Only a portion of proofs is generated locally after SendAsset to 12 addresses, this is also true after 6 blocks have been generated in bitcoin mainnet.
Bitcoin of asset's this UTXO has actually been spent, but asset's this UTXO is still existing, can not be used, and no output index 0's asset UTXO available.
Your environment
Steps to reproduce
Expected behavior
All proof file with output index 0 to 12 are generated in the
{tapddir}\data\mainnet\proofs\{asset_id}\
.Actual behavior
Only proof file with output index 0 was generated in the
{tapddir}\data\mainnet\proofs\{asset_id}
.Logs here
Proof file with index 0 here
The same thing happened two weeks ago, in one of the previous transfers, until now, only proof files with output indexes 0,1,2 were generated after SendAsset to other 12 addresses.
Expectation
The text was updated successfully, but these errors were encountered: