cake_wallet/cw_bitcoin/lib/address_from_output.dart

19 lines
630 B
Dart

import 'dart:typed_data';
import 'package:bitcoin_flutter/bitcoin_flutter.dart' as bitcoin;
import 'package:bitcoin_flutter/src/payments/index.dart' show PaymentData;
String addressFromOutput(Uint8List script, bitcoin.NetworkType networkType) {
try {
return bitcoin.P2PKH(data: PaymentData(output: script), network: networkType).data.address!;
} catch (_) {}
try {
return bitcoin.P2WPKH(data: PaymentData(output: script), network: networkType).data.address!;
} catch (_) {}
try {
return bitcoin.P2TR(data: PaymentData(output: script), network: networkType).data.address!;
} catch (_) {}
return '';
}