convert method
Implementation
@override
WIF convert(String input, [int? version]) {
Uint8List buffer = bs58check.decode(input);
if (version != null && buffer[0] != version) {
throw ArgumentError('Invalid network version');
}
// uncompressed
if (buffer.lengthInBytes == 33) {
return WIF(
version: buffer[0], privateKey: buffer.sublist(1), compressed: false);
}
// invalid length
if (buffer.length != 34) {
throw ArgumentError('Invalid WIF length');
}
// invalid compression flag
if (buffer[33] != 0x01) {
throw ArgumentError('Invalid compression flag');
}
// compressed
return WIF(
version: buffer[0],
privateKey: buffer.sublist(1, 33),
compressed: true);
}