decode static method
Implementation
static String decode(String npub) {
try {
var decoder = Bech32Decoder();
var bech32Result = decoder.convert(npub);
var data = convertBits(bech32Result.data, 5, 8, false);
if (bech32Result.hrp != Hrps.kNoteId &&
bech32Result.hrp != Hrps.kPublicKey &&
bech32Result.hrp != Hrps.kPrivateKey) {
final tlv = Nip19TLV.parseTLV(data);
final special = tlv.firstWhereOrNull((t) => t.type == 0)?.value;
if (special != null) {
return HEX.encode(special);
} else {
throw "Missing 'special' kind in TLV entity, cant decode to hex";
}
} else {
return HEX.encode(data);
}
} catch (e) {
Logger.log.e("Nip19 decode error ${e.toString()}");
return "";
}
}