namecoin / namecoin-core

Namecoin full node + wallet based on the current Bitcoin Core codebase.
https://www.namecoin.org/
MIT License
463 stars 146 forks source link

CRITICAL! A severe bug caused name loss! #524

Closed ghost closed 1 year ago

ghost commented 1 year ago

@JeremyRand

Daniel Kraft @domob1812's commit https://github.com/namecoin/namecoin-core/pull/220 causing a critical bug which resulting name loss!

If you transfer a so-called "non-standard" name in Namecoin-QT, you will lose your name!

Example name: &#/transferthis If you try to transfer Example name to another address, it will issue a name_update but never transfer the name; instead, it will transfer 0.01 NMC to the address where the name should be transferred.

The name will never appear in the other wallet! This confirmed with name_list!

Checking it with name_show returns the new address, but you cannot transfer because it is technically not in your wallet!

As a result, the name is irreversibly lost!

ghost commented 1 year ago

I did find the name, but the RPC returns a different address when using name_show than when using name_show in the console.

I recommend to immediately revert @domob1812 commit https://github.com/namecoin/namecoin-core/pull/220

ghost commented 1 year ago

@brandonrobertz, @domob1812 all of the commits listed in @JeremyRand's https://github.com/namecoin/namecoin-core/issues/194 must be reversed to the state where toaddress is used!

JeremyRand commented 1 year ago

Can you provide exact steps to reproduce, including the exact contents of the name_update command you entered? (Was this done with namecoin-cli, in the GUI console window, or with a custom RPC client?)

JeremyRand commented 1 year ago

Also please provide the exact Git commit hashes you tested that do and do not have this bug.

ghost commented 1 year ago

@JeremyRand The steps are already laid out. The name transfer began in the GUI. As previously stated, the RPC and console name_show show different owners for the name!

name_update's "options" must not be used to replace toaddress or this happens!

This bug affecting all versions of Namecoin Core since 2018. The cause of the bug is @domob1812's https://github.com/namecoin/namecoin-core/pull/220

I also attempted to transfer the name via RPC (namecoin-cli), but it simply issued a standard name_update without actually transferring the name.

It is critical to restore the toaddress that was removed from Namecoin Core!

Also, 0.01 NMC should not be used for a name_update, but it was sent to the address where the name should be transferred.

JeremyRand commented 1 year ago

Until you cooperate with our investigation by telling us exactly what commands you typed (both the name_update and name_show), there is not much we can do. We're not psychic, we can't reliably guess what you did to trigger this bug.

ghost commented 1 year ago

@JeremyRand

You have been thoroughly informed about the bug; re-read if you do not understand it.

I request that you revert all of the pull requests that are marked as merged in your issue https://github.com/namecoin/namecoin-core/issues/194.

When attempting to use RPC or the GUI, name transfer is completely broken when transferring names like &#/transferme!

ghost commented 1 year ago

Close, this should be discussed on the new issue linked above.

JeremyRand commented 1 year ago

I mean, this certainly looks like OP is just incompetent, but since OP is refusing to assist in reproducing this bug, I guess we'll never know unless someone else can reproduce it. This bug will remain closed until/unless that occurs.