@bitgo-beta/utxo-lib 8.0.3-beta.20 → 8.0.3-beta.201

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +19 -16
  2. package/dist/src/bitgo/PsbtUtil.d.ts +8 -7
  3. package/dist/src/bitgo/PsbtUtil.d.ts.map +1 -1
  4. package/dist/src/bitgo/PsbtUtil.js +17 -2
  5. package/dist/src/bitgo/UtxoPsbt.d.ts +17 -3
  6. package/dist/src/bitgo/UtxoPsbt.d.ts.map +1 -1
  7. package/dist/src/bitgo/UtxoPsbt.js +111 -56
  8. package/dist/src/bitgo/index.d.ts +9 -0
  9. package/dist/src/bitgo/index.d.ts.map +1 -1
  10. package/dist/src/bitgo/index.js +4 -2
  11. package/dist/src/bitgo/legacysafe/index.d.ts +15 -0
  12. package/dist/src/bitgo/legacysafe/index.d.ts.map +1 -0
  13. package/dist/src/bitgo/legacysafe/index.js +61 -0
  14. package/dist/src/bitgo/outputScripts.d.ts +1 -0
  15. package/dist/src/bitgo/outputScripts.d.ts.map +1 -1
  16. package/dist/src/bitgo/outputScripts.js +24 -9
  17. package/dist/src/bitgo/parseInput.js +2 -2
  18. package/dist/src/bitgo/signature.d.ts +2 -2
  19. package/dist/src/bitgo/signature.d.ts.map +1 -1
  20. package/dist/src/bitgo/signature.js +17 -2
  21. package/dist/src/bitgo/transaction.d.ts +18 -3
  22. package/dist/src/bitgo/transaction.d.ts.map +1 -1
  23. package/dist/src/bitgo/transaction.js +9 -7
  24. package/dist/src/bitgo/transactionAmounts.d.ts +9 -0
  25. package/dist/src/bitgo/transactionAmounts.d.ts.map +1 -0
  26. package/dist/src/bitgo/transactionAmounts.js +33 -0
  27. package/dist/src/bitgo/wallet/Psbt.d.ts +20 -7
  28. package/dist/src/bitgo/wallet/Psbt.d.ts.map +1 -1
  29. package/dist/src/bitgo/wallet/Psbt.js +71 -3
  30. package/dist/src/bitgo/wallet/Unspent.d.ts +43 -7
  31. package/dist/src/bitgo/wallet/Unspent.d.ts.map +1 -1
  32. package/dist/src/bitgo/wallet/Unspent.js +152 -65
  33. package/dist/src/bitgo/wallet/WalletOutput.d.ts +17 -1
  34. package/dist/src/bitgo/wallet/WalletOutput.d.ts.map +1 -1
  35. package/dist/src/bitgo/wallet/WalletOutput.js +64 -23
  36. package/dist/src/bitgo/wallet/chains.d.ts +1 -1
  37. package/dist/src/bitgo/zcash/ZcashPsbt.d.ts +0 -1
  38. package/dist/src/bitgo/zcash/ZcashPsbt.d.ts.map +1 -1
  39. package/dist/src/bitgo/zcash/ZcashPsbt.js +3 -12
  40. package/dist/src/testutil/keys.d.ts +3 -0
  41. package/dist/src/testutil/keys.d.ts.map +1 -1
  42. package/dist/src/testutil/keys.js +17 -2
  43. package/dist/src/testutil/mock.d.ts +1 -1
  44. package/dist/src/testutil/mock.d.ts.map +1 -1
  45. package/dist/src/testutil/mock.js +12 -4
  46. package/dist/src/testutil/psbt.d.ts +27 -6
  47. package/dist/src/testutil/psbt.d.ts.map +1 -1
  48. package/dist/src/testutil/psbt.js +30 -18
  49. package/dist/src/testutil/transaction.d.ts +14 -5
  50. package/dist/src/testutil/transaction.d.ts.map +1 -1
  51. package/dist/src/testutil/transaction.js +9 -9
  52. package/package.json +8 -8
package/README.md CHANGED
@@ -3,12 +3,13 @@
3
3
  This library is a wrapper around [bitcoinjs-lib](https://github.com/bitcoinjs/bitcoinjs-lib) adding altcoin support.
4
4
 
5
5
  ## Features
6
+
6
7
  - Multicoin support: Configurable behaviour based on [network](https://github.com/BitGo/bitgo-utxo-lib/blob/master/src/networks.js) objects.
7
8
  - Backed by [BitGo](https://www.bitgo.com/info/)
8
9
 
9
10
  ## Installation
10
11
 
11
- ``` bash
12
+ ```bash
12
13
  # using npm
13
14
  npm install @bitgo/utxo-lib
14
15
 
@@ -19,20 +20,22 @@ yarn add @bitgo/utxo-lib
19
20
  ## Setup
20
21
 
21
22
  JavaScript (ESM)
22
- ``` javascript
23
- import * as utxolib from '@bitgo/utxo-lib'
23
+
24
+ ```javascript
25
+ import * as utxolib from '@bitgo/utxo-lib';
24
26
  ```
25
27
 
26
28
  NodeJS (CJS)
27
- ``` javascript
28
- const utxolib = require('@bitgo/utxo-lib')
29
+
30
+ ```javascript
31
+ const utxolib = require('@bitgo/utxo-lib');
29
32
  ```
30
33
 
31
34
  ## Usage
32
35
 
33
36
  Support for parsing and building altcoin transactions is provided by the following methods
34
37
 
35
- ``` typescript
38
+ ```typescript
36
39
  utxolib.bitgo.createTransactionFromBuffer(buffer, network): UtxoTransaction
37
40
  // (similarly `createTransactionFromHex(string, network)`)
38
41
 
@@ -45,15 +48,15 @@ The `UtxoTransaction(Builder)` classes have the same interface as the `Transacti
45
48
 
46
49
  ## Supported coins
47
50
 
48
- |Network|Mainnet|Testnet|
49
- |---|---|---|
50
- |Bitcoin|`utxolib.networks.bitcoin`|`utxolib.networks.testnet`|
51
- |Bitcoin Cash|`utxolib.networks.bitcoincash`|`utxolib.networks.bitcoincashTestnet`|
52
- |Bitcoin Gold|`utxolib.networks.bitcoingold`|`utxolib.networks.bitcoingoldTestnet`|
53
- |Bitcoin SV (Satoshi Vision)|`utxolib.networks.bitcoinsv`|`utxolib.networks.bitcoinsvTestnet`|
54
- |Dash|`utxolib.networks.dash`|`utxolib.networks.dash`|
55
- |eCash|`utxolib.networks.ecash`|`utxolib.networks.ecashTestnet`|
56
- |Litecoin|`utxolib.networks.litecoin`|`utxolib.networks.litecoinTest`|
57
- |Zcash|`utxolib.networks.zcash`|`utxolib.networks.zcashTest`|
51
+ | Network | Mainnet | Testnet |
52
+ | --------------------------- | ------------------------------ | ------------------------------------- |
53
+ | Bitcoin | `utxolib.networks.bitcoin` | `utxolib.networks.testnet` |
54
+ | Bitcoin Cash | `utxolib.networks.bitcoincash` | `utxolib.networks.bitcoincashTestnet` |
55
+ | Bitcoin Gold | `utxolib.networks.bitcoingold` | `utxolib.networks.bitcoingoldTestnet` |
56
+ | Bitcoin SV (Satoshi Vision) | `utxolib.networks.bitcoinsv` | `utxolib.networks.bitcoinsvTestnet` |
57
+ | Dash | `utxolib.networks.dash` | `utxolib.networks.dash` |
58
+ | eCash | `utxolib.networks.ecash` | `utxolib.networks.ecashTestnet` |
59
+ | Litecoin | `utxolib.networks.litecoin` | `utxolib.networks.litecoinTest` |
60
+ | Zcash | `utxolib.networks.zcash` | `utxolib.networks.zcashTest` |
58
61
 
59
62
  > [Bitcoin SV](https://blog.bitgo.com/bsv-deprecation-6b3fff4df34c) no longer supports sending funds to BitGo wallets. Existing customers with Bitcoin SV in BitGo wallets will still be able to access and sweep funds to an external Bitcoin SV wallet.
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { ProprietaryKey } from 'bip174/src/lib/proprietaryKeyVal';
3
3
  import { PsbtInput } from 'bip174/src/lib/interfaces';
4
+ import { Psbt } from 'bitcoinjs-lib/src/psbt';
4
5
  /**
5
6
  * bitgo proprietary key identifier
6
7
  */
@@ -33,26 +34,26 @@ export interface ProprietaryKeySearch {
33
34
  keydata?: Buffer;
34
35
  identifierEncoding?: BufferEncoding;
35
36
  }
36
- /**
37
- * alias for PsbtInput type to avoid direct bip174 library dependency by users of the util functions
38
- */
39
- export declare type PsbtInputType = PsbtInput;
40
37
  /**
41
38
  * Search any data from psbt proprietary key value against keydata.
42
39
  * Default identifierEncoding is utf-8 for identifier.
43
40
  */
44
- export declare function getPsbtInputProprietaryKeyVals(input: PsbtInputType, keySearch?: ProprietaryKeySearch): ProprietaryKeyValue[];
41
+ export declare function getPsbtInputProprietaryKeyVals(input: PsbtInput, keySearch?: ProprietaryKeySearch): ProprietaryKeyValue[];
45
42
  /**
46
43
  * @return partialSig/tapScriptSig/MUSIG2_PARTIAL_SIG count iff input is not finalized
47
44
  */
48
- export declare function getPsbtInputSignatureCount(input: PsbtInputType): number;
45
+ export declare function getPsbtInputSignatureCount(input: PsbtInput): number;
49
46
  /**
50
47
  * @return true iff PSBT input is finalized
51
48
  */
52
- export declare function isPsbtInputFinalized(input: PsbtInputType): boolean;
49
+ export declare function isPsbtInputFinalized(input: PsbtInput): boolean;
53
50
  /**
54
51
  * @return true iff data starts with magic PSBT byte sequence
55
52
  * @param data byte array or hex string
56
53
  * */
57
54
  export declare function isPsbt(data: Buffer | string): boolean;
55
+ /**
56
+ * This function allows signing or validating a psbt with non-segwit inputs those do not contain nonWitnessUtxo.
57
+ */
58
+ export declare function withUnsafeNonSegwit<T>(psbt: Psbt, fn: () => T, unsafe?: boolean): T;
58
59
  //# sourceMappingURL=PsbtUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PsbtUtil.d.ts","sourceRoot":"","sources":["../../../src/bitgo/PsbtUtil.ts"],"names":[],"mappings":";AAAA,OAAO,EAAwB,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,uBAAuB,IAAO;IAC9B,2BAA2B,IAAO;IAClC,gBAAgB,IAAO;IACvB,kBAAkB,IAAO;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,cAAc,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,cAAc,CAAC;CACrC;AAED;;GAEG;AACH,oBAAY,aAAa,GAAG,SAAS,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,aAAa,EACpB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,mBAAmB,EAAE,CAmBvB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAYvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAElE;AAED;;;KAGK;AACL,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAUrD"}
1
+ {"version":3,"file":"PsbtUtil.d.ts","sourceRoot":"","sources":["../../../src/bitgo/PsbtUtil.ts"],"names":[],"mappings":";AAAA,OAAO,EAAwB,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,uBAAuB,IAAO;IAC9B,2BAA2B,IAAO;IAClC,gBAAgB,IAAO;IACvB,kBAAkB,IAAO;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,cAAc,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,cAAc,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,EAChB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,mBAAmB,EAAE,CAmBvB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAYnE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE9D;AAED;;;KAGK;AACL,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAUrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,UAAO,GAAG,CAAC,CAShF"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPsbt = exports.isPsbtInputFinalized = exports.getPsbtInputSignatureCount = exports.getPsbtInputProprietaryKeyVals = exports.ProprietaryKeySubtype = exports.PSBT_PROPRIETARY_IDENTIFIER = void 0;
3
+ exports.withUnsafeNonSegwit = exports.isPsbt = exports.isPsbtInputFinalized = exports.getPsbtInputSignatureCount = exports.getPsbtInputProprietaryKeyVals = exports.ProprietaryKeySubtype = exports.PSBT_PROPRIETARY_IDENTIFIER = void 0;
4
4
  const proprietaryKeyVal_1 = require("bip174/src/lib/proprietaryKeyVal");
5
5
  /**
6
6
  * bitgo proprietary key identifier
@@ -76,4 +76,19 @@ function isPsbt(data) {
76
76
  return 5 <= data.length && data.readUInt32BE(0) === 0x70736274 && data.readUInt8(4) === 0xff;
77
77
  }
78
78
  exports.isPsbt = isPsbt;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHNidFV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vUHNidFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0VBQXdGO0FBR3hGOztHQUVHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxPQUFPLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxJQUFZLHFCQUtYO0FBTEQsV0FBWSxxQkFBcUI7SUFDL0IsdUdBQThCLENBQUE7SUFDOUIsK0dBQWtDLENBQUE7SUFDbEMseUZBQXVCLENBQUE7SUFDdkIsNkZBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUxXLHFCQUFxQixHQUFyQiw2QkFBcUIsS0FBckIsNkJBQXFCLFFBS2hDO0FBNEJEOzs7R0FHRztBQUNILFNBQWdCLDhCQUE4QixDQUM1QyxLQUFvQixFQUNwQixTQUFnQzs7SUFFaEMsSUFBSSxDQUFDLENBQUEsTUFBQSxLQUFLLENBQUMsY0FBYywwQ0FBRSxNQUFNLENBQUEsRUFBRTtRQUNqQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEYsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RUFBd0UsQ0FBQyxDQUFDO0tBQzNGO0lBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLHdDQUFvQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDL0IsT0FBTyxDQUNMLFNBQVMsS0FBSyxTQUFTO1lBQ3ZCLENBQUMsU0FBUyxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVU7Z0JBQzdDLENBQUMsU0FBUyxDQUFDLE9BQU8sS0FBSyxTQUFTO29CQUM5QixDQUFDLFNBQVMsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPO3dCQUN2QyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMvRixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBdEJELHdFQXNCQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQUMsS0FBb0I7SUFDN0QsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDL0M7SUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQ2IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNqRSw4QkFBOEIsQ0FBQyxLQUFLLEVBQUU7UUFDcEMsVUFBVSxFQUFFLG1DQUEyQjtRQUN2QyxPQUFPLEVBQUUscUJBQXFCLENBQUMsa0JBQWtCO0tBQ2xELENBQUMsQ0FBQyxNQUFNLENBQ1YsQ0FBQztBQUNKLENBQUM7QUFaRCxnRUFZQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsS0FBb0I7SUFDdkQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFGRCxvREFFQztBQUVEOzs7S0FHSztBQUNMLFNBQWdCLE1BQU0sQ0FBQyxJQUFxQjtJQUMxQywrRUFBK0U7SUFDL0Usa0RBQWtEO0lBQ2xELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQzlDO0lBQ0QsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUMvRixDQUFDO0FBVkQsd0JBVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWNvZGVQcm9wcmlldGFyeUtleSwgUHJvcHJpZXRhcnlLZXkgfSBmcm9tICdiaXAxNzQvc3JjL2xpYi9wcm9wcmlldGFyeUtleVZhbCc7XG5pbXBvcnQgeyBQc2J0SW5wdXQgfSBmcm9tICdiaXAxNzQvc3JjL2xpYi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBiaXRnbyBwcm9wcmlldGFyeSBrZXkgaWRlbnRpZmllclxuICovXG5leHBvcnQgY29uc3QgUFNCVF9QUk9QUklFVEFSWV9JREVOVElGSUVSID0gJ0JJVEdPJztcblxuLyoqXG4gKiBzdWJ0eXBlIGZvciBwcm9wcmlldGFyeSBrZXlzIHRoYXQgYml0Z28gdXNlc1xuICovXG5leHBvcnQgZW51bSBQcm9wcmlldGFyeUtleVN1YnR5cGUge1xuICBaRUNfQ09OU0VOU1VTX0JSQU5DSF9JRCA9IDB4MDAsXG4gIE1VU0lHMl9QQVJUSUNJUEFOVF9QVUJfS0VZUyA9IDB4MDEsXG4gIE1VU0lHMl9QVUJfTk9OQ0UgPSAweDAyLFxuICBNVVNJRzJfUEFSVElBTF9TSUcgPSAweDAzLFxufVxuXG4vKipcbiAqIFBzYnQgcHJvcHJpZXRhcnkga2V5ZGF0YSBvYmplY3QuXG4gKiA8Y29tcGFjdCBzaXplIHVpbnQgaWRlbnRpZmllciBsZW5ndGg+IDxieXRlcyBpZGVudGlmaWVyPiA8Y29tcGFjdCBzaXplIHVpbnQgc3VidHlwZT4gPGJ5dGVzIHN1YmtleWRhdGE+XG4gKiA9PiA8Ynl0ZXMgdmFsdWVkYXRhPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3ByaWV0YXJ5S2V5VmFsdWUge1xuICBrZXk6IFByb3ByaWV0YXJ5S2V5O1xuICB2YWx1ZTogQnVmZmVyO1xufVxuXG4vKipcbiAqIFBzYnQgcHJvcHJpZXRhcnkga2V5ZGF0YSBvYmplY3Qgc2VhcmNoIGZpZWxkcy5cbiAqIDxjb21wYWN0IHNpemUgdWludCBpZGVudGlmaWVyIGxlbmd0aD4gPGJ5dGVzIGlkZW50aWZpZXI+IDxjb21wYWN0IHNpemUgdWludCBzdWJ0eXBlPiA8Ynl0ZXMgc3Via2V5ZGF0YT5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9wcmlldGFyeUtleVNlYXJjaCB7XG4gIGlkZW50aWZpZXI6IHN0cmluZztcbiAgc3VidHlwZT86IG51bWJlcjtcbiAga2V5ZGF0YT86IEJ1ZmZlcjtcbiAgaWRlbnRpZmllckVuY29kaW5nPzogQnVmZmVyRW5jb2Rpbmc7XG59XG5cbi8qKlxuICogYWxpYXMgZm9yIFBzYnRJbnB1dCB0eXBlIHRvIGF2b2lkIGRpcmVjdCBiaXAxNzQgbGlicmFyeSBkZXBlbmRlbmN5IGJ5IHVzZXJzIG9mIHRoZSB1dGlsIGZ1bmN0aW9uc1xuICovXG5leHBvcnQgdHlwZSBQc2J0SW5wdXRUeXBlID0gUHNidElucHV0O1xuXG4vKipcbiAqIFNlYXJjaCBhbnkgZGF0YSBmcm9tIHBzYnQgcHJvcHJpZXRhcnkga2V5IHZhbHVlIGFnYWluc3Qga2V5ZGF0YS5cbiAqIERlZmF1bHQgaWRlbnRpZmllckVuY29kaW5nIGlzIHV0Zi04IGZvciBpZGVudGlmaWVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHNidElucHV0UHJvcHJpZXRhcnlLZXlWYWxzKFxuICBpbnB1dDogUHNidElucHV0VHlwZSxcbiAga2V5U2VhcmNoPzogUHJvcHJpZXRhcnlLZXlTZWFyY2hcbik6IFByb3ByaWV0YXJ5S2V5VmFsdWVbXSB7XG4gIGlmICghaW5wdXQudW5rbm93bktleVZhbHM/Lmxlbmd0aCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBpZiAoa2V5U2VhcmNoICYmIGtleVNlYXJjaC5zdWJ0eXBlID09PSB1bmRlZmluZWQgJiYgQnVmZmVyLmlzQnVmZmVyKGtleVNlYXJjaC5rZXlkYXRhKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcm9wcmlldGFyeSBrZXkgc2VhcmNoIGZpbHRlciBjb21iaW5hdGlvbi4gc3VidHlwZSBpcyByZXF1aXJlZCcpO1xuICB9XG4gIGNvbnN0IGtleVZhbHMgPSBpbnB1dC51bmtub3duS2V5VmFscy5tYXAoKHsga2V5LCB2YWx1ZSB9LCBpKSA9PiB7XG4gICAgcmV0dXJuIHsga2V5OiBkZWNvZGVQcm9wcmlldGFyeUtleShrZXkpLCB2YWx1ZSB9O1xuICB9KTtcbiAgcmV0dXJuIGtleVZhbHMuZmlsdGVyKChrZXlWYWwpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAga2V5U2VhcmNoID09PSB1bmRlZmluZWQgfHxcbiAgICAgIChrZXlTZWFyY2guaWRlbnRpZmllciA9PT0ga2V5VmFsLmtleS5pZGVudGlmaWVyICYmXG4gICAgICAgIChrZXlTZWFyY2guc3VidHlwZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgKGtleVNlYXJjaC5zdWJ0eXBlID09PSBrZXlWYWwua2V5LnN1YnR5cGUgJiZcbiAgICAgICAgICAgICghQnVmZmVyLmlzQnVmZmVyKGtleVNlYXJjaC5rZXlkYXRhKSB8fCBrZXlTZWFyY2gua2V5ZGF0YS5lcXVhbHMoa2V5VmFsLmtleS5rZXlkYXRhKSkpKSlcbiAgICApO1xuICB9KTtcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHBhcnRpYWxTaWcvdGFwU2NyaXB0U2lnL01VU0lHMl9QQVJUSUFMX1NJRyBjb3VudCBpZmYgaW5wdXQgaXMgbm90IGZpbmFsaXplZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHNidElucHV0U2lnbmF0dXJlQ291bnQoaW5wdXQ6IFBzYnRJbnB1dFR5cGUpOiBudW1iZXIge1xuICBpZiAoaXNQc2J0SW5wdXRGaW5hbGl6ZWQoaW5wdXQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnB1dCBpcyBhbHJlYWR5IGZpbmFsaXplZCcpO1xuICB9XG4gIHJldHVybiBNYXRoLm1heChcbiAgICBBcnJheS5pc0FycmF5KGlucHV0LnBhcnRpYWxTaWcpID8gaW5wdXQucGFydGlhbFNpZy5sZW5ndGggOiAwLFxuICAgIEFycmF5LmlzQXJyYXkoaW5wdXQudGFwU2NyaXB0U2lnKSA/IGlucHV0LnRhcFNjcmlwdFNpZy5sZW5ndGggOiAwLFxuICAgIGdldFBzYnRJbnB1dFByb3ByaWV0YXJ5S2V5VmFscyhpbnB1dCwge1xuICAgICAgaWRlbnRpZmllcjogUFNCVF9QUk9QUklFVEFSWV9JREVOVElGSUVSLFxuICAgICAgc3VidHlwZTogUHJvcHJpZXRhcnlLZXlTdWJ0eXBlLk1VU0lHMl9QQVJUSUFMX1NJRyxcbiAgICB9KS5sZW5ndGhcbiAgKTtcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHRydWUgaWZmIFBTQlQgaW5wdXQgaXMgZmluYWxpemVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1BzYnRJbnB1dEZpbmFsaXplZChpbnB1dDogUHNidElucHV0VHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQnVmZmVyLmlzQnVmZmVyKGlucHV0LmZpbmFsU2NyaXB0U2lnKSB8fCBCdWZmZXIuaXNCdWZmZXIoaW5wdXQuZmluYWxTY3JpcHRXaXRuZXNzKTtcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHRydWUgaWZmIGRhdGEgc3RhcnRzIHdpdGggbWFnaWMgUFNCVCBieXRlIHNlcXVlbmNlXG4gKiBAcGFyYW0gZGF0YSBieXRlIGFycmF5IG9yIGhleCBzdHJpbmdcbiAqICovXG5leHBvcnQgZnVuY3Rpb24gaXNQc2J0KGRhdGE6IEJ1ZmZlciB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL2Jsb2IvbWFzdGVyL2JpcC0wMTc0Lm1lZGlhd2lraSNzcGVjaWZpY2F0aW9uXG4gIC8vIDB4NzA3MzYyNzQgLSBBU0NJSSBmb3IgJ3BzYnQnLiAweGZmIC0gc2VwYXJhdG9yXG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPCAxMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBkYXRhID0gQnVmZmVyLmZyb20oZGF0YS5zbGljZSgwLCAxMCksICdoZXgnKTtcbiAgfVxuICByZXR1cm4gNSA8PSBkYXRhLmxlbmd0aCAmJiBkYXRhLnJlYWRVSW50MzJCRSgwKSA9PT0gMHg3MDczNjI3NCAmJiBkYXRhLnJlYWRVSW50OCg0KSA9PT0gMHhmZjtcbn1cbiJdfQ==
79
+ /**
80
+ * This function allows signing or validating a psbt with non-segwit inputs those do not contain nonWitnessUtxo.
81
+ */
82
+ function withUnsafeNonSegwit(psbt, fn, unsafe = true) {
83
+ psbt.__CACHE.__UNSAFE_SIGN_NONSEGWIT = unsafe;
84
+ psbt.__CACHE.__WARN_UNSAFE_SIGN_NONSEGWIT = !unsafe;
85
+ try {
86
+ return fn();
87
+ }
88
+ finally {
89
+ psbt.__CACHE.__UNSAFE_SIGN_NONSEGWIT = false;
90
+ psbt.__CACHE.__WARN_UNSAFE_SIGN_NONSEGWIT = true;
91
+ }
92
+ }
93
+ exports.withUnsafeNonSegwit = withUnsafeNonSegwit;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHNidFV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vUHNidFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0VBQXdGO0FBSXhGOztHQUVHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxPQUFPLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxJQUFZLHFCQUtYO0FBTEQsV0FBWSxxQkFBcUI7SUFDL0IsdUdBQThCLENBQUE7SUFDOUIsK0dBQWtDLENBQUE7SUFDbEMseUZBQXVCLENBQUE7SUFDdkIsNkZBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUxXLHFCQUFxQixHQUFyQiw2QkFBcUIsS0FBckIsNkJBQXFCLFFBS2hDO0FBdUJEOzs7R0FHRztBQUNILFNBQWdCLDhCQUE4QixDQUM1QyxLQUFnQixFQUNoQixTQUFnQzs7SUFFaEMsSUFBSSxDQUFDLENBQUEsTUFBQSxLQUFLLENBQUMsY0FBYywwQ0FBRSxNQUFNLENBQUEsRUFBRTtRQUNqQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEYsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RUFBd0UsQ0FBQyxDQUFDO0tBQzNGO0lBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLHdDQUFvQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDL0IsT0FBTyxDQUNMLFNBQVMsS0FB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cG9ydCB7IGRlY29kZVByb3ByaWV0YXJ5S2V5LCBQcm9wcmlldGFyeUtleSB9IGZyb20gJ2JpcDE3NC9zcmMvbGliL3Byb3ByaWV0YXJ5S2V5VmFsJztcbmltcG9ydCB7IFBzYnRJbnB1dCB9IGZyb20gJ2JpcDE3NC9zcmMvbGliL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHNidCB9IGZyb20gJ2JpdGNvaW5qcy1saWIvc3JjL3BzYnQnO1xuXG4vKipcbiAqIGJpdGdvIHByb3ByaWV0YXJ5IGtleSBpZGVudGlmaWVyXG4gKi9cbmV4cG9ydCBjb25zdCBQU0JUX1BST1BSSUVUQVJZX0lERU5USUZJRVIgPSAnQklUR08nO1xuXG4vKipcbiAqIHN1YnR5cGUgZm9yIHByb3ByaWV0YXJ5IGtleXMgdGhhdCBiaXRnbyB1c2VzXG4gKi9cbmV4cG9ydCBlbnVtIFByb3ByaWV0YXJ5S2V5U3VidHlwZSB7XG4gIFpFQ19DT05TRU5TVVNfQlJBTkNIX0lEID0gMHgwMCxcbiAgTVVTSUcyX1BBUlRJQ0lQQU5UX1BVQl9LRVlTID0gMHgwMSxcbiAgTVVTSUcyX1BVQl9OT05DRSA9IDB4MDIsXG4gIE1VU0lHMl9QQVJUSUFMX1NJRyA9IDB4MDMsXG59XG5cbi8qKlxuICogUHNidCBwcm9wcmlldGFyeSBrZXlkYXRhIG9iamVjdC5cbiAqIDxjb21wYWN0IHNpemUgdWludCBpZGVudGlmaWVyIGxlbmd0aD4gPGJ5dGVzIGlkZW50aWZpZXI+IDxjb21wYWN0IHNpemUgdWludCBzdWJ0eXBlPiA8Ynl0ZXMgc3Via2V5ZGF0YT5cbiAqID0+IDxieXRlcyB2YWx1ZWRhdGE+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcHJpZXRhcnlLZXlWYWx1ZSB7XG4gIGtleTogUHJvcHJpZXRhcnlLZXk7XG4gIHZhbHVlOiBCdWZmZXI7XG59XG5cbi8qKlxuICogUHNidCBwcm9wcmlldGFyeSBrZXlkYXRhIG9iamVjdCBzZWFyY2ggZmllbGRzLlxuICogPGNvbXBhY3Qgc2l6ZSB1aW50IGlkZW50aWZpZXIgbGVuZ3RoPiA8Ynl0ZXMgaWRlbnRpZmllcj4gPGNvbXBhY3Qgc2l6ZSB1aW50IHN1YnR5cGU+IDxieXRlcyBzdWJrZXlkYXRhPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3ByaWV0YXJ5S2V5U2VhcmNoIHtcbiAgaWRlbnRpZmllcjogc3RyaW5nO1xuICBzdWJ0eXBlPzogbnVtYmVyO1xuICBrZXlkYXRhPzogQnVmZmVyO1xuICBpZGVudGlmaWVyRW5jb2Rpbmc/OiBCdWZmZXJFbmNvZGluZztcbn1cblxuLyoqXG4gKiBTZWFyY2ggYW55IGRhdGEgZnJvbSBwc2J0IHByb3ByaWV0YXJ5IGtleSB2YWx1ZSBhZ2FpbnN0IGtleWRhdGEuXG4gKiBEZWZhdWx0IGlkZW50aWZpZXJFbmNvZGluZyBpcyB1dGYtOCBmb3IgaWRlbnRpZmllci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBzYnRJbnB1dFByb3ByaWV0YXJ5S2V5VmFscyhcbiAgaW5wdXQ6IFBzYnRJbnB1dCxcbiAga2V5U2VhcmNoPzogUHJvcHJpZXRhcnlLZXlTZWFyY2hcbik6IFByb3ByaWV0YXJ5S2V5VmFsdWVbXSB7XG4gIGlmICghaW5wdXQudW5rbm93bktleVZhbHM/Lmxlbmd0aCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBpZiAoa2V5U2VhcmNoICYmIGtleVNlYXJjaC5zdWJ0eXBlID09PSB1bmRlZmluZWQgJiYgQnVmZmVyLmlzQnVmZmVyKGtleVNlYXJjaC5rZXlkYXRhKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcm9wcmlldGFyeSBrZXkgc2VhcmNoIGZpbHRlciBjb21iaW5hdGlvbi4gc3VidHlwZSBpcyByZXF1aXJlZCcpO1xuICB9XG4gIGNvbnN0IGtleVZhbHMgPSBpbnB1dC51bmtub3duS2V5VmFscy5tYXAoKHsga2V5LCB2YWx1ZSB9LCBpKSA9PiB7XG4gICAgcmV0dXJuIHsga2V5OiBkZWNvZGVQcm9wcmlldGFyeUtleShrZXkpLCB2YWx1ZSB9O1xuICB9KTtcbiAgcmV0dXJuIGtleVZhbHMuZmlsdGVyKChrZXlWYWwpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAga2V5U2VhcmNoID09PSB1bmRlZmluZWQgfHxcbiAgICAgIChrZXlTZWFyY2guaWRlbnRpZmllciA9PT0ga2V5VmFsLmtleS5pZGVudGlmaWVyICYmXG4gICAgICAgIChrZXlTZWFyY2guc3VidHlwZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgKGtleVNlYXJjaC5zdWJ0eXBlID09PSBrZXlWYWwua2V5LnN1YnR5cGUgJiZcbiAgICAgICAgICAgICghQnVmZmVyLmlzQnVmZmVyKGtleVNlYXJjaC5rZXlkYXRhKSB8fCBrZXlTZWFyY2gua2V5ZGF0YS5lcXVhbHMoa2V5VmFsLmtleS5rZXlkYXRhKSkpKSlcbiAgICApO1xuICB9KTtcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHBhcnRpYWxTaWcvdGFwU2NyaXB0U2lnL01VU0lHMl9QQVJUSUFMX1NJRyBjb3VudCBpZmYgaW5wdXQgaXMgbm90IGZpbmFsaXplZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHNidElucHV0U2lnbmF0dXJlQ291bnQoaW5wdXQ6IFBzYnRJbnB1dCk6IG51bWJlciB7XG4gIGlmIChpc1BzYnRJbnB1dEZpbmFsaXplZChpbnB1dCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0lucHV0IGlzIGFscmVhZHkgZmluYWxpemVkJyk7XG4gIH1cbiAgcmV0dXJuIE1hdGgubWF4KFxuICAgIEFycmF5LmlzQXJyYXkoaW5wdXQucGFydGlhbFNpZykgPyBpbnB1dC5wYXJ0aWFsU2lnLmxlbmd0aCA6IDAsXG4gICAgQXJyYXkuaXNBcnJheShpbnB1dC50YXBTY3JpcHRTaWcpID8gaW5wdXQudGFwU2NyaXB0U2lnLmxlbmd0aCA6IDAsXG4gICAgZ2V0UHNidElucHV0UHJvcHJpZXRhcnlLZXlWYWxzKGlucHV0LCB7XG4gICAgICBpZGVudGlmaWVyOiBQU0JUX1BST1BSSUVUQVJZX0lERU5USUZJRVIsXG4gICAgICBzdWJ0eXBlOiBQcm9wcmlldGFyeUtleVN1YnR5cGUuTVVTSUcyX1BBUlRJQUxfU0lHLFxuICAgIH0pLmxlbmd0aFxuICApO1xufVxuXG4vKipcbiAqIEByZXR1cm4gdHJ1ZSBpZmYgUFNCVCBpbnB1dCBpcyBmaW5hbGl6ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHNidElucHV0RmluYWxpemVkKGlucHV0OiBQc2J0SW5wdXQpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihpbnB1dC5maW5hbFNjcmlwdFNpZykgfHwgQnVmZmVyLmlzQnVmZmVyKGlucHV0LmZpbmFsU2NyaXB0V2l0bmVzcyk7XG59XG5cbi8qKlxuICogQHJldHVybiB0cnVlIGlmZiBkYXRhIHN0YXJ0cyB3aXRoIG1hZ2ljIFBTQlQgYnl0ZSBzZXF1ZW5jZVxuICogQHBhcmFtIGRhdGEgYnl0ZSBhcnJheSBvciBoZXggc3RyaW5nXG4gKiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHNidChkYXRhOiBCdWZmZXIgfCBzdHJpbmcpOiBib29sZWFuIHtcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy9ibG9iL21hc3Rlci9iaXAtMDE3NC5tZWRpYXdpa2kjc3BlY2lmaWNhdGlvblxuICAvLyAweDcwNzM2Mjc0IC0gQVNDSUkgZm9yICdwc2J0Jy4gMHhmZiAtIHNlcGFyYXRvclxuICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKGRhdGEubGVuZ3RoIDwgMTApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEuc2xpY2UoMCwgMTApLCAnaGV4Jyk7XG4gIH1cbiAgcmV0dXJuIDUgPD0gZGF0YS5sZW5ndGggJiYgZGF0YS5yZWFkVUludDMyQkUoMCkgPT09IDB4NzA3MzYyNzQgJiYgZGF0YS5yZWFkVUludDgoNCkgPT09IDB4ZmY7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBhbGxvd3Mgc2lnbmluZyBvciB2YWxpZGF0aW5nIGEgcHNidCB3aXRoIG5vbi1zZWd3aXQgaW5wdXRzIHRob3NlIGRvIG5vdCBjb250YWluIG5vbldpdG5lc3NVdHhvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aFVuc2FmZU5vblNlZ3dpdDxUPihwc2J0OiBQc2J0LCBmbjogKCkgPT4gVCwgdW5zYWZlID0gdHJ1ZSk6IFQge1xuICAocHNidCBhcyBhbnkpLl9fQ0FDSEUuX19VTlNBRkVfU0lHTl9OT05TRUdXSVQgPSB1bnNhZmU7XG4gIChwc2J0IGFzIGFueSkuX19DQUNIRS5fX1dBUk5fVU5TQUZFX1NJR05fTk9OU0VHV0lUID0gIXVuc2FmZTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfSBmaW5hbGx5IHtcbiAgICAocHNidCBhcyBhbnkpLl9fQ0FDSEUuX19VTlNBRkVfU0lHTl9OT05TRUdXSVQgPSBmYWxzZTtcbiAgICAocHNidCBhcyBhbnkpLl9fQ0FDSEUuX19XQVJOX1VOU0FGRV9TSUdOX05PTlNFR1dJVCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { Psbt as PsbtBase } from 'bip174';
3
- import { Bip32Derivation } from 'bip174/src/lib/interfaces';
3
+ import { Bip32Derivation, PsbtInput } from 'bip174/src/lib/interfaces';
4
4
  import { BIP32Interface } from 'bip32';
5
5
  import { HDSigner, Psbt, TxOutput, Network } from '..';
6
6
  import { UtxoTransaction } from './UtxoTransaction';
@@ -67,12 +67,24 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
67
67
  /**
68
68
  * @param parent - Parent key. Matched with `bip32Derivations` using `fingerprint` property.
69
69
  * @param bip32Derivations - possible derivations for input or output
70
+ * @param ignoreY - when true, ignore the y coordinate when matching public keys
70
71
  * @return derived bip32 node if matching derivation is found, undefined if none is found
71
72
  * @throws Error if more than one match is found
72
73
  */
73
- static deriveKeyPair(parent: BIP32Interface, bip32Derivations: Bip32Derivation[]): BIP32Interface | undefined;
74
+ static deriveKeyPair(parent: BIP32Interface, bip32Derivations: Bip32Derivation[], { ignoreY }: {
75
+ ignoreY: boolean;
76
+ }): BIP32Interface | undefined;
77
+ static deriveKeyPairForInput(bip32: BIP32Interface, input: PsbtInput): Buffer | undefined;
74
78
  get network(): Network;
75
79
  toHex(): string;
80
+ /**
81
+ * It is expensive to attempt to compute every output address using psbt.txOutputs[outputIndex]
82
+ * to then just get the script. Here, we are doing the same thing as what txOutputs() does in
83
+ * bitcoinjs-lib, but without iterating over each output.
84
+ * @param outputIndex
85
+ * @returns output script at the given index
86
+ */
87
+ getOutputScript(outputIndex: number): Buffer;
76
88
  getNonWitnessPreviousTxids(): string[];
77
89
  addNonWitnessUtxos(txBufs: Record<string, Buffer>): this;
78
90
  static fromTransaction(transaction: UtxoTransaction<bigint>, prevOutputs: TxOutput<bigint>[]): UtxoPsbt;
@@ -94,6 +106,7 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
94
106
  * @returns true if the input at inputIndex is a taproot
95
107
  */
96
108
  isTaprootInput(inputIndex: number): boolean;
109
+ private isMultisigTaprootScript;
97
110
  /**
98
111
  * Mostly copied from bitcoinjs-lib/ts_src/psbt.ts
99
112
  */
@@ -124,7 +137,7 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
124
137
  private getMusig2SessionKey;
125
138
  /**
126
139
  * @returns true for following cases.
127
- * If valid musig2 partial signatures exists for both 2 keys, it will also verifies aggregated sig
140
+ * If valid musig2 partial signatures exists for both 2 keys, it will also verify aggregated sig
128
141
  * for aggregated tweaked key (output key), otherwise only verifies partial sig.
129
142
  * If pubkey is passed in input, it will check sig only for that pubkey,
130
143
  * if no sig exits for such key, throws error.
@@ -246,6 +259,7 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
246
259
  deterministic?: boolean;
247
260
  }): this;
248
261
  clone(): this;
262
+ extractTransaction(disableFeeCheck?: boolean): UtxoTransaction<bigint>;
249
263
  }
250
264
  export {};
251
265
  //# sourceMappingURL=UtxoPsbt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UtxoPsbt.d.ts","sourceRoot":"","sources":["../../../src/bitgo/UtxoPsbt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UtxoPsbt.d.ts","sourceRoot":"","sources":["../../../src/bitgo/UtxoPsbt.ts"],"names":[],"mappings":"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"}