-
Notifications
You must be signed in to change notification settings - Fork 168
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
Issue Regarding Ada Handles Resolving To a JPG Store Contract Address #925
Comments
There's a potential race condition in the way that handles are resolved that could be leading to this that I think is the culprit Specifically, addresses being stored in React state are not being handled/cleared correctly. But, this may not have been the specific issue in this case. |
Thanks for the warning but I'm not malicious and the link above is just a tweet. Please fix the problem so people don't lose their ADA. |
This is a good investigation, I haven't had time to look too deeply in it but it looks like its happening more: https://x.com/DegenOm3n/status/1763659924251484367?s=20 Looks like this resolved to the jpg v2 contract, and also might be happening with non ada handles as well? I have a bit more time this weekend ill be able to help with the investigation |
Suspiciously, the debounce code was recently changed (awesome-debounce-promise package replaced by custom code): |
Note that transactions sent to jpg.store Plutus script addresses holding ada handles without a datum have basically always happened so the issue might not be new but it can also happen when doing a typo manually or when forgetting an handle has been listed. That said it seems there's a slight increase recently:
Ada handle support has been added in Nami in December 2021: 96b4025 and released in version 3.0.0 (https://github.com/input-output-hk/nami/releases/tag/3.0.0) Lastly note that there are 35,682 listed on jpg.store out of 236,350. These is therefore a 15% chance for a random handle (like a misspelled or truncated one) to resolve into a jpg.store Plutus script address. |
Might be related (thanks nullHashPixel): |
For reference, ADA Handles integration recommendations are called out here - https://mint.handle.me/verified-integration |
A Cardano community member @SPCWV recently lost a series of very high value NFTs because their Ada handle resolved to a jpg store contract when sending a transaction. He said that he tried to send Ada to the handle that was in his other wallet and had not been touched in a long time, at first it said error saying something like the address is invalid, but after a few seconds it turned up green.
However the transaction that was built and submitted was actually the jpg store contract which the assets were sent too with no datum meaning they were lost forever.
https://cardanoscan.io/transaction/3fbd24730eef83de612ab01bf0a2e786f5eefac7a58ccaf06f702b96acbab635?tab=utxo
--- A similar story occurred yesterday on twitter with another user
https://twitter.com/banjoTheGamer/status/1763032678176088490
I believe these 2 are the same issue and there is something wrong with the resolution of Ada handles to the jpg store address if there is some sort of invalid error.
EDIT: It looks like it might not be ada handle resolution specifically as the second user was attempting to send to a Binance address which does not support handles
This is a major issue to Cardano community members so I hope this can be resolved ASAP. Let me know if you need more information.
EDIT 2: It does appear like the issue is specifically occurring around Ada Handles (not 100% sure but most occurrences seem to point to that with the above exception)
My suspicion is Charles's tweet is correct as if a user is typing in an Ada handle and has not finished typing yet, the unfinished handle is very likely to be in a jpg contract which would have the address render to the contract address. I have seen this issue render addresses to both Jpg v1 and v2 contracts which means it isn't some sort of Nami address book
https://x.com/IOHK_Charles/status/1763961206917021811?s=20
The text was updated successfully, but these errors were encountered: