Skip to content

Commit 139567d

Browse files
committed
Fix addInput and addOuput for Psbt
1 parent 099360a commit 139567d

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

ts_src/psbt.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
PsbtGlobalUpdate,
77
PsbtInput,
88
PsbtInputUpdate,
9+
PsbtOutput,
910
PsbtOutputUpdate,
1011
Transaction as ITransaction,
1112
TransactionFromBuffer,
@@ -176,12 +177,12 @@ export class Psbt {
176177
return this;
177178
}
178179

179-
addInputs(inputDatas: TransactionInput[]): this {
180+
addInputs(inputDatas: PsbtInputExtended[]): this {
180181
inputDatas.forEach(inputData => this.addInput(inputData));
181182
return this;
182183
}
183184

184-
addInput(inputData: TransactionInput): this {
185+
addInput(inputData: PsbtInputExtended): this {
185186
checkInputsForPartialSig(this.data.inputs, 'addInput');
186187
const c = this.__CACHE;
187188
this.data.addInput(inputData);
@@ -198,12 +199,12 @@ export class Psbt {
198199
return this;
199200
}
200201

201-
addOutputs(outputDatas: TransactionOutput[]): this {
202+
addOutputs(outputDatas: PsbtOutputExtended[]): this {
202203
outputDatas.forEach(outputData => this.addOutput(outputData));
203204
return this;
204205
}
205206

206-
addOutput(outputData: TransactionOutput): this {
207+
addOutput(outputData: PsbtOutputExtended): this {
207208
checkInputsForPartialSig(this.data.inputs, 'addOutput');
208209
const { address } = outputData as any;
209210
if (typeof address === 'string') {
@@ -622,6 +623,10 @@ interface PsbtOpts {
622623
maximumFeeRate: number;
623624
}
624625

626+
interface PsbtInputExtended extends PsbtInput, TransactionInput {}
627+
628+
interface PsbtOutputExtended extends PsbtOutput, TransactionOutput {}
629+
625630
interface HDSignerBase {
626631
/**
627632
* DER format compressed publicKey buffer

types/psbt.d.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/// <reference types="node" />
22
import { Psbt as PsbtBase } from 'bip174';
3-
import { KeyValue, PsbtGlobalUpdate, PsbtInputUpdate, PsbtOutputUpdate, TransactionInput, TransactionOutput } from 'bip174/src/lib/interfaces';
3+
import { KeyValue, PsbtGlobalUpdate, PsbtInput, PsbtInputUpdate, PsbtOutput, PsbtOutputUpdate, TransactionInput, TransactionOutput } from 'bip174/src/lib/interfaces';
44
import { Signer, SignerAsync } from './ecpair';
55
import { Network } from './networks';
66
import { Transaction } from './transaction';
@@ -51,10 +51,10 @@ export declare class Psbt {
5151
setVersion(version: number): this;
5252
setLocktime(locktime: number): this;
5353
setInputSequence(inputIndex: number, sequence: number): this;
54-
addInputs(inputDatas: TransactionInput[]): this;
55-
addInput(inputData: TransactionInput): this;
56-
addOutputs(outputDatas: TransactionOutput[]): this;
57-
addOutput(outputData: TransactionOutput): this;
54+
addInputs(inputDatas: PsbtInputExtended[]): this;
55+
addInput(inputData: PsbtInputExtended): this;
56+
addOutputs(outputDatas: PsbtOutputExtended[]): this;
57+
addOutput(outputData: PsbtOutputExtended): this;
5858
extractTransaction(disableFeeCheck?: boolean): Transaction;
5959
getFeeRate(): number;
6060
finalizeAllInputs(): this;
@@ -84,6 +84,10 @@ interface PsbtOptsOptional {
8484
network?: Network;
8585
maximumFeeRate?: number;
8686
}
87+
interface PsbtInputExtended extends PsbtInput, TransactionInput {
88+
}
89+
interface PsbtOutputExtended extends PsbtOutput, TransactionOutput {
90+
}
8791
interface HDSignerBase {
8892
/**
8993
* DER format compressed publicKey buffer

0 commit comments

Comments
 (0)