publicKeyToAddress method

  1. @override
String publicKeyToAddress(
  1. Uint8List publicKey
)
override

Implementation

@override
String publicKeyToAddress(Uint8List publicKey) {
  if (isTaproot) {
    final networkType = setting?.networkType;
    final hrp = networkType == null ? 'bc' : networkType.bech32;
    if (hrp == null) {
      throw ArgumentError('Taproot networkType must define a bech32 HRP');
    }
    return P2PKH.getTaprootAddress(publicKey, hrp);
  } else {
    final addressBytes = sha160fromByte(publicKey);
    Uint8List versionedHash = Uint8List(21);
    versionedHash[0] = setting?.networkType?.pubKeyHash ?? 0x00;
    versionedHash.setRange(1, 21, addressBytes);
    return getBase58Address(versionedHash);
  }
}