Zip32Sapling.fromExtendedSpendingKey constructor

Zip32Sapling.fromExtendedSpendingKey(
  1. String extendedKey,
  2. ZIP32CoinConfig config
)

Implementation

factory Zip32Sapling.fromExtendedSpendingKey(
  String extendedKey,
  ZIP32CoinConfig config,
) {
  final keyBytes = ZcashEncodingUtils.tryDecodeBech32(
    bech32: extendedKey,
    encoding: Bech32Encodings.bech32,
  );
  if (keyBytes == null) {
    throw SaplingKeyError.failed(
      "fromExtendedSpendingKey",
      reason: "Invalid extended spending key.",
    );
  }
  if (keyBytes.$2 != config.hrpSaplingExtendedSpendingKey) {
    throw SaplingKeyError.failed(
      "fromExtendedSpendingKey",
      reason: "Missmatch hrp.",
    );
  }
  return Zip32Sapling.fromExtendedSpendingKeyBytes(keyBytes.$1);
}