cake_wallet/cw_bitcoin/lib/utils.dart
2024-08-15 02:40:40 +03:00

54 lines
1.5 KiB
Dart

import 'package:bitcoin_base/bitcoin_base.dart';
import 'package:blockchain_utils/blockchain_utils.dart';
ECPrivate generateECPrivate({
required Bip32Slip10Secp256k1 hd,
required BasedUtxoNetwork network,
required int index,
}) =>
ECPrivate(hd.childKey(Bip32KeyIndex(index)).privateKey);
String generateP2WPKHAddress({
required Bip32Slip10Secp256k1 hd,
required BasedUtxoNetwork network,
required int index,
}) =>
ECPublic.fromBip32(hd.childKey(Bip32KeyIndex(index)).publicKey)
.toP2wpkhAddress()
.toAddress(network);
String generateP2SHAddress({
required Bip32Slip10Secp256k1 hd,
required BasedUtxoNetwork network,
required int index,
}) =>
ECPublic.fromBip32(hd.childKey(Bip32KeyIndex(index)).publicKey)
.toP2wpkhInP2sh()
.toAddress(network);
String generateP2WSHAddress({
required Bip32Slip10Secp256k1 hd,
required BasedUtxoNetwork network,
required int index,
}) =>
ECPublic.fromBip32(hd.childKey(Bip32KeyIndex(index)).publicKey)
.toP2wshAddress()
.toAddress(network);
String generateP2PKHAddress({
required Bip32Slip10Secp256k1 hd,
required BasedUtxoNetwork network,
required int index,
}) =>
ECPublic.fromBip32(hd.childKey(Bip32KeyIndex(index)).publicKey)
.toP2pkhAddress()
.toAddress(network);
String generateP2TRAddress({
required Bip32Slip10Secp256k1 hd,
required BasedUtxoNetwork network,
required int index,
}) =>
ECPublic.fromBip32(hd.childKey(Bip32KeyIndex(index)).publicKey)
.toTaprootAddress()
.toAddress(network);