decode static method

String decode(
  1. String npub
)

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 "";
  }
}