verifyDewif method
Return true if the given DEWIF base64 string is valid.
Implementation
bool verifyDewif(String dewif,
{int dewifCurrencyCode = DEWIF_CURRENCY_CODE_G1,
int dewifVersion = DEWIF_VERSION}) {
String dewifCurrencyCodeHexa =
dewifCurrencyCode.toRadixString(16).padLeft(8, '0');
String dewifVersionHexa = dewifVersion.toRadixString(16).padLeft(8, '0');
final rawDewif = HEX.encode(base64.decode(dewif));
final version = rawDewif.substring(0, 8);
final currencyCode = rawDewif.substring(8, 16);
final logN = rawDewif.substring(16, 18);
final algorythm = rawDewif.substring(18, 20);
// print(
// "$version == $dewifVersion && $currencyCode == $dewifCurrencyCodeHexa && $logN == '0e' && $algorythm == ${DEWIF_ALGORITHM_CODE_BIP32_ED25519.toRadixString(16).padLeft(2, '0')}");
if (version == dewifVersionHexa &&
currencyCode == dewifCurrencyCodeHexa &&
logN == '0e' &&
algorythm ==
DEWIF_ALGORITHM_CODE_BIP32_ED25519
.toRadixString(16)
.padLeft(2, '0')) {
return true;
} else {
return false;
}
}