Skip to content

Commit c293297

Browse files
feat: add unsignedPsbt to PendingBitcoinTransaction
1 parent c34edd4 commit c293297

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

cw_bitcoin/lib/bitcoin_wallet.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,11 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store {
354354
publicKeys: tx.publicKeys!,
355355
masterFingerprint: Uint8List(0));
356356

357+
if (isCupcake) {
358+
tx.unsignedPsbt = transaction.serialize();
359+
return tx;
360+
}
361+
357362
final originalPsbt =
358363
await signPsbt(base64.encode(transaction.asPsbtV0()), getUtxoWithPrivateKeys());
359364

cw_bitcoin/lib/pending_bitcoin_transaction.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class PendingBitcoinTransaction with PendingTransaction {
3434
this.utxos = const [],
3535
this.publicKeys,
3636
this.commitOverride,
37+
this.unsignedPsbt,
3738
}) : _listeners = <void Function(ElectrumTransactionInfo transaction)>[];
3839

3940
final WalletType type;
@@ -55,6 +56,8 @@ class PendingBitcoinTransaction with PendingTransaction {
5556
final Map<String, PublicKeyWithDerivationPath>? publicKeys;
5657
Future<void> Function()? commitOverride;
5758

59+
Uint8List? unsignedPsbt;
60+
5861
@override
5962
String get id => idOverride ?? _tx.txId();
6063

@@ -168,10 +171,10 @@ class PendingBitcoinTransaction with PendingTransaction {
168171
inputAddresses: _tx.inputs.map((input) => input.txId).toList(),
169172
outputAddresses: outputAddresses,
170173
fee: fee);
171-
174+
172175
@override
173176
Future<String?> commitUR() {
174-
var sourceBytes = Uint8List.fromList(utf8.encode(hex));
177+
var sourceBytes = unsignedPsbt!;
175178
var cborEncoder = CBOREncoder();
176179
cborEncoder.encodeBytes(sourceBytes);
177180
var ur = UR("psbt", cborEncoder.getBytes());

0 commit comments

Comments
 (0)