That's great, let it be recorded here then, in case anyone needs it, just convert all the uppercase letters of the passphrase to lowercase.
I though you'd update your modified IanColeman tool with the references I've linked.
If it's just the extra steps after normalization;
Just add another function that'll be used exclusively to normalize the passphrase. (
originally, mnemonic and passphrase use the same function)
First, add this below "
normalizeString" function (
or write a better alternative):
self.normalizePassphrase = function(str) {
var normalized = str.normalize("NFKD");
var removeaccent = normalized.replace(/[\u0300-\u036f]/g, "");
return removeaccent.toLowerCase();
}Ref: Accents normalization (
the third line) is based from:
stackoverflow.com/a/37511463And then; in "
toSeed" function, add this above "
passphrase = self.normalizeString(passphrase)":
passphrase = self.joinWords(self.splitWords(passphrase));
That'll use BIP39 tool's existing whitespace normalization code. (
Electrum strips extra whitespaces if there's more then one)
However, Electrum also covers CJK (
Chinese/Japanese/Korean) but IanColeman's only supports Japanese among the three.
And lastly, below it, replace:
passphrase = self.normalizeString(passphrase)with that newly added function:
passphrase = self.normalizePassphrase(passphrase)Note: I haven't done more extensive tests, just a few variations of your passphrase like "
DáIlv7 UOM/hX/GôSJQ t9Tiç" for quick testing (
address matched)