ECPair.fromWIF constructor

ECPair.fromWIF(
  1. String privateKey, [
  2. dynamic network
])

Get ECPair instance from WIF

Implementation

factory ECPair.fromWIF(String privateKey, [dynamic network]) {
  final decoded = wif.decode(privateKey);
  final int version = decoded.version;

  if (network != null) {
    if (network is List<Network>) {
      final find = network.where((x) => x.wif == version).toList();
      if (find.isEmpty) {
        throw Exception('Unknown network version');
      }
      network = find.first;
    } else if (network is! Network) {
      throw ArgumentError(
          'Argument should be List<Network> or Network.', 'network');
    }
  }

  network ??= networks.bitcoin;
  if (version != network.wif) {
    throw Exception('Invalid network version');
  }

  return ECPair.fromPrivateKey(decoded.privateKey,
      ECPairOptions(compressed: decoded.compressed, network: network));
}