From d951423a352178fa8f1c8bb6898da783b9b75a28 Mon Sep 17 00:00:00 2001
From: junderw <junderwood@bitcoinbank.co.jp>
Date: Mon, 8 Apr 2019 18:15:25 +0900
Subject: [PATCH 1/2] Fix TransactionBuilder types

---
 ts_src/transaction_builder.ts  | 18 +++++++++---------
 types/transaction_builder.d.ts |  4 ++--
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/ts_src/transaction_builder.ts b/ts_src/transaction_builder.ts
index 2367250..6a49b3f 100644
--- a/ts_src/transaction_builder.ts
+++ b/ts_src/transaction_builder.ts
@@ -134,8 +134,8 @@ export class TransactionBuilder {
   addInput(
     txHash: Buffer | string | Transaction,
     vout: number,
-    sequence: number,
-    prevOutScript: Buffer,
+    sequence?: number,
+    prevOutScript?: Buffer,
   ): number {
     if (!this.__canModifyInputs()) {
       throw new Error('No, this would invalidate signatures');
@@ -188,10 +188,10 @@ export class TransactionBuilder {
   sign(
     vin: number,
     keyPair: ECPairInterface,
-    redeemScript: Buffer,
-    hashType: number,
-    witnessValue: number,
-    witnessScript: Buffer,
+    redeemScript?: Buffer,
+    hashType?: number,
+    witnessValue?: number,
+    witnessScript?: Buffer,
   ): void {
     // TODO: remove keyPair.network matching in 4.0.0
     if (keyPair.network && keyPair.network !== this.network)
@@ -267,7 +267,7 @@ export class TransactionBuilder {
       }
 
       const signature = keyPair.sign(signatureHash);
-      input.signatures![i] = bscript.signature.encode(signature, hashType);
+      input.signatures![i] = bscript.signature.encode(signature, hashType!);
       return true;
     });
 
@@ -679,8 +679,8 @@ function expandOutput(script: Buffer, ourPubKey?: Buffer): TxbOutput {
 function prepareInput(
   input: TxbInput,
   ourPubKey: Buffer,
-  redeemScript: Buffer,
-  witnessScript: Buffer,
+  redeemScript?: Buffer,
+  witnessScript?: Buffer,
 ): TxbInput {
   if (redeemScript && witnessScript) {
     const p2wsh = payments.p2wsh({
diff --git a/types/transaction_builder.d.ts b/types/transaction_builder.d.ts
index 16adee6..82c4ef0 100644
--- a/types/transaction_builder.d.ts
+++ b/types/transaction_builder.d.ts
@@ -12,11 +12,11 @@ export declare class TransactionBuilder {
     constructor(network?: Network, maximumFeeRate?: number);
     setLockTime(locktime: number): void;
     setVersion(version: number): void;
-    addInput(txHash: Buffer | string | Transaction, vout: number, sequence: number, prevOutScript: Buffer): number;
+    addInput(txHash: Buffer | string | Transaction, vout: number, sequence?: number, prevOutScript?: Buffer): number;
     addOutput(scriptPubKey: string | Buffer, value: number): number;
     build(): Transaction;
     buildIncomplete(): Transaction;
-    sign(vin: number, keyPair: ECPairInterface, redeemScript: Buffer, hashType: number, witnessValue: number, witnessScript: Buffer): void;
+    sign(vin: number, keyPair: ECPairInterface, redeemScript?: Buffer, hashType?: number, witnessValue?: number, witnessScript?: Buffer): void;
     private __addInputUnsafe;
     private __build;
     private __canModifyInputs;

From 2381b6643f1466518e36a2e16757f656c87968d3 Mon Sep 17 00:00:00 2001
From: junderw <junderwood@bitcoinbank.co.jp>
Date: Mon, 8 Apr 2019 18:17:04 +0900
Subject: [PATCH 2/2] 5.0.1

---
 package-lock.json | 2 +-
 package.json      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e56b8d2..b57448e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "bitcoinjs-lib",
-  "version": "5.0.0",
+  "version": "5.0.1",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
diff --git a/package.json b/package.json
index 69d704f..10088cd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "bitcoinjs-lib",
-  "version": "5.0.0",
+  "version": "5.0.1",
   "description": "Client-side Bitcoin JavaScript library",
   "main": "./src/index.js",
   "types": "./types/index.d.ts",