X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Fbitcoinaddressvalidator.cpp;h=5136ea0c4010aa73e50faff413ad5d17855fe50f;hb=84a4a7763f386934da90e2bd1e355b70023fa9ca;hp=c804ad0d57613f8fa349caa0eeb1e55da30ec4ee;hpb=087fc28f7d4e82a0b79dabbaa19358e48d3084fe;p=novacoin.git diff --git a/src/qt/bitcoinaddressvalidator.cpp b/src/qt/bitcoinaddressvalidator.cpp index c804ad0..5136ea0 100644 --- a/src/qt/bitcoinaddressvalidator.cpp +++ b/src/qt/bitcoinaddressvalidator.cpp @@ -5,8 +5,8 @@ This is: - All numbers except for '0' - - All uppercase letters except for 'I' and 'O' - - All lowercase letters except for 'l' + - All upper-case letters except for 'I' and 'O' + - All lower-case letters except for 'l' User friendly Base58 input can map - 'l' and 'I' to '1' @@ -25,17 +25,11 @@ QValidator::State BitcoinAddressValidator::validate(QString &input, int &pos) co { bool removeChar = false; QChar ch = input.at(idx); - // Transform characters that are visually close + // Corrections made are very conservative on purpose, to avoid + // users unexpectedly getting away with typos that would normally + // be detected, and thus sending to the wrong address. switch(ch.unicode()) { - case 'l': - case 'I': - input[idx] = QChar('1'); - break; - case '0': - case 'O': - input[idx] = QChar('o'); - break; // Qt categorizes these as "Other_Format" not "Separator_Space" case 0x200B: // ZERO WIDTH SPACE case 0xFEFF: // ZERO WIDTH NO-BREAK SPACE