While testing a Midnight application, I accidentally pasted a contract address into the wallet seed input field instead of the seed used to sync the wallet.
Instead of rejecting the input, the wallet initialized successfully and generated:
-
a shielded address
-
an unshielded address
-
a dust address
The wallet then synced normally (empty state, since there were no notes associated with the derived addresses).
Steps to Reproduce
-
Start wallet initialization / sync
-
In the seed input field, paste a contract address (e.g. 32ce
...) instead of a seed -
Proceed with wallet setup
Observed Behavior
The wallet initializes successfully and derives addresses even though the input is not a valid mnemonic or seed.
Expected Behavior
Either:
-
the wallet validates the seed format and rejects invalid inputs, or
-
the UI clearly states that arbitrary input strings are accepted as seed entropy
Notes
This behavior may be intentional if the wallet allows arbitrary entropy for deterministic wallet generation. However, it could potentially confuse users if they accidentally paste something other than their seed and unknowingly generate a new wallet.