@bitgo/abstract-utxo 9.15.0 → 9.16.0

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 (69) hide show
  1. package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts +1 -1
  2. package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  3. package/dist/src/descriptor/assertDescriptorWalletAddress.js +1 -1
  4. package/dist/src/descriptor/descriptorWallet.d.ts +1 -1
  5. package/dist/src/descriptor/descriptorWallet.d.ts.map +1 -1
  6. package/dist/src/descriptor/descriptorWallet.js +1 -1
  7. package/dist/src/descriptor/index.d.ts +1 -0
  8. package/dist/src/descriptor/index.d.ts.map +1 -1
  9. package/dist/src/descriptor/index.js +1 -1
  10. package/dist/src/descriptor/validatePolicy.d.ts +1 -1
  11. package/dist/src/descriptor/validatePolicy.d.ts.map +1 -1
  12. package/dist/src/descriptor/validatePolicy.js +2 -2
  13. package/dist/src/offlineVault/descriptor/transaction.d.ts +1 -1
  14. package/dist/src/offlineVault/descriptor/transaction.d.ts.map +1 -1
  15. package/dist/src/offlineVault/descriptor/transaction.js +1 -1
  16. package/dist/src/transaction/common/verifyPayGoAmount.d.ts +1 -0
  17. package/dist/src/transaction/common/verifyPayGoAmount.js +2 -0
  18. package/dist/src/transaction/descriptor/explainPsbt.d.ts +1 -1
  19. package/dist/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  20. package/dist/src/transaction/descriptor/explainPsbt.js +2 -2
  21. package/dist/src/transaction/descriptor/index.d.ts +1 -1
  22. package/dist/src/transaction/descriptor/index.d.ts.map +1 -1
  23. package/dist/src/transaction/descriptor/index.js +1 -1
  24. package/dist/src/transaction/descriptor/parse.d.ts +3 -2
  25. package/dist/src/transaction/descriptor/parse.d.ts.map +1 -1
  26. package/dist/src/transaction/descriptor/parse.js +2 -2
  27. package/dist/src/transaction/descriptor/signPsbt.d.ts +1 -1
  28. package/dist/src/transaction/descriptor/signPsbt.d.ts.map +1 -1
  29. package/dist/src/transaction/descriptor/signPsbt.js +3 -3
  30. package/dist/src/transaction/descriptor/verifyTransaction.d.ts +1 -1
  31. package/dist/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  32. package/dist/src/transaction/descriptor/verifyTransaction.js +1 -1
  33. package/package.json +5 -5
  34. package/dist/src/core/descriptor/DescriptorMap.d.ts +0 -9
  35. package/dist/src/core/descriptor/DescriptorMap.d.ts.map +0 -1
  36. package/dist/src/core/descriptor/DescriptorMap.js +0 -12
  37. package/dist/src/core/descriptor/Output.d.ts +0 -24
  38. package/dist/src/core/descriptor/Output.d.ts.map +0 -1
  39. package/dist/src/core/descriptor/Output.js +0 -22
  40. package/dist/src/core/descriptor/VirtualSize.d.ts +0 -21
  41. package/dist/src/core/descriptor/VirtualSize.d.ts.map +0 -1
  42. package/dist/src/core/descriptor/VirtualSize.js +0 -87
  43. package/dist/src/core/descriptor/address.d.ts +0 -5
  44. package/dist/src/core/descriptor/address.d.ts.map +0 -1
  45. package/dist/src/core/descriptor/address.js +0 -48
  46. package/dist/src/core/descriptor/index.d.ts +0 -9
  47. package/dist/src/core/descriptor/index.d.ts.map +0 -1
  48. package/dist/src/core/descriptor/index.js +0 -17
  49. package/dist/src/core/descriptor/psbt/assertSatisfiable.d.ts +0 -20
  50. package/dist/src/core/descriptor/psbt/assertSatisfiable.d.ts.map +0 -1
  51. package/dist/src/core/descriptor/psbt/assertSatisfiable.js +0 -74
  52. package/dist/src/core/descriptor/psbt/createPsbt.d.ts +0 -15
  53. package/dist/src/core/descriptor/psbt/createPsbt.d.ts.map +0 -1
  54. package/dist/src/core/descriptor/psbt/createPsbt.js +0 -82
  55. package/dist/src/core/descriptor/psbt/findDescriptors.d.ts +0 -22
  56. package/dist/src/core/descriptor/psbt/findDescriptors.d.ts.map +0 -1
  57. package/dist/src/core/descriptor/psbt/findDescriptors.js +0 -85
  58. package/dist/src/core/descriptor/psbt/index.d.ts +0 -5
  59. package/dist/src/core/descriptor/psbt/index.d.ts.map +0 -1
  60. package/dist/src/core/descriptor/psbt/index.js +0 -10
  61. package/dist/src/core/descriptor/psbt/parse.d.ts +0 -27
  62. package/dist/src/core/descriptor/psbt/parse.d.ts.map +0 -1
  63. package/dist/src/core/descriptor/psbt/parse.js +0 -87
  64. package/dist/src/core/descriptor/psbt/wrap.d.ts +0 -12
  65. package/dist/src/core/descriptor/psbt/wrap.d.ts.map +0 -1
  66. package/dist/src/core/descriptor/psbt/wrap.js +0 -76
  67. package/dist/src/core/descriptor/signTxLocal.d.ts +0 -3
  68. package/dist/src/core/descriptor/signTxLocal.d.ts.map +0 -1
  69. package/dist/src/core/descriptor/signTxLocal.js +0 -9
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findDescriptorForInput = findDescriptorForInput;
4
- exports.findDescriptorForOutput = findDescriptorForOutput;
5
- /**
6
- * Find a descriptor in the descriptor map that matches the given script and derivation index.
7
- * @param script
8
- * @param index
9
- * @param descriptorMap
10
- * @returns DescriptorWithIndex if found, undefined otherwise
11
- */
12
- function findDescriptorForDerivationIndex(script, index, descriptorMap) {
13
- for (const descriptor of descriptorMap.values()) {
14
- if (Buffer.from(descriptor.atDerivationIndex(index).scriptPubkey()).equals(script)) {
15
- return { descriptor, index };
16
- }
17
- }
18
- return undefined;
19
- }
20
- function getDerivationIndexFromPath(path) {
21
- const indexStr = path.split('/').pop();
22
- if (!indexStr) {
23
- throw new Error(`Invalid derivation path ${path}`);
24
- }
25
- const index = parseInt(indexStr, 10);
26
- if (index.toString() !== indexStr) {
27
- throw new Error(`Invalid derivation path ${path}`);
28
- }
29
- return index;
30
- }
31
- /**
32
- * Wrapper around findDescriptorForDerivationPath that tries multiple derivation paths.
33
- * @param script
34
- * @param derivationPaths
35
- * @param descriptorMap
36
- */
37
- function findDescriptorForAnyDerivationPath(script, derivationPaths, descriptorMap) {
38
- const derivationIndexSet = new Set(derivationPaths.map((p) => getDerivationIndexFromPath(p)));
39
- for (const index of [...derivationIndexSet]) {
40
- const desc = findDescriptorForDerivationIndex(script, index, descriptorMap);
41
- if (desc) {
42
- return desc;
43
- }
44
- }
45
- return undefined;
46
- }
47
- function getDerivationPaths(v) {
48
- if ('bip32Derivation' in v && v.bip32Derivation) {
49
- return v.bip32Derivation.map((v) => v.path);
50
- }
51
- if ('tapBip32Derivation' in v && v.tapBip32Derivation) {
52
- return v.tapBip32Derivation.map((v) => v.path).filter((v) => v !== '' && v !== 'm');
53
- }
54
- return undefined;
55
- }
56
- /**
57
- * @param input
58
- * @param descriptorMap
59
- * @returns DescriptorWithIndex for the input if found, undefined otherwise
60
- */
61
- function findDescriptorForInput(input, descriptorMap) {
62
- const script = input.witnessUtxo?.script;
63
- if (!script) {
64
- throw new Error('Missing script');
65
- }
66
- const derivationPaths = getDerivationPaths(input);
67
- if (!derivationPaths) {
68
- throw new Error('Missing derivation paths');
69
- }
70
- return findDescriptorForAnyDerivationPath(script, derivationPaths, descriptorMap);
71
- }
72
- /**
73
- * @param script - the output script
74
- * @param output - the PSBT output
75
- * @param descriptorMap
76
- * @returns DescriptorWithIndex for the output if found, undefined otherwise
77
- */
78
- function findDescriptorForOutput(script, output, descriptorMap) {
79
- const derivationPaths = getDerivationPaths(output);
80
- if (!derivationPaths) {
81
- return undefined;
82
- }
83
- return findDescriptorForAnyDerivationPath(script, derivationPaths, descriptorMap);
84
- }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZERlc2NyaXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmUvZGVzY3JpcHRvci9wc2J0L2ZpbmREZXNjcmlwdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTJGQSx3REFhQztBQVFELDBEQVVDO0FBeEdEOzs7Ozs7R0FNRztBQUNILFNBQVMsZ0NBQWdDLENBQ3ZDLE1BQWMsRUFDZCxLQUFhLEVBQ2IsYUFBNEI7SUFFNUIsS0FBSyxNQUFNLFVBQVUsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNoRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLElBQVk7SUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxrQ0FBa0MsQ0FDekMsTUFBYyxFQUNkLGVBQXlCLEVBQ3pCLGFBQTRCO0lBRTVCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlGLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxnQ0FBZ0MsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUtELFNBQVMsa0JBQWtCLENBQUMsQ0FBK0M7SUFDekUsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSxvQkFBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdEQsT0FBTyxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixzQkFBc0IsQ0FDcEMsS0FBZ0IsRUFDaEIsYUFBNEI7SUFFNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDekMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxPQUFPLGtDQUFrQyxDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDcEYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3JDLE1BQWMsRUFDZCxNQUFrQixFQUNsQixhQUE0QjtJQUU1QixNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sa0NBQWtDLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcblxuVXRpbGl0aWVzIGZvciBtYXBwaW5nIGJhY2sgZnJvbSBQU0JUIGlucHV0cyB0byBkZXNjcmlwdG9ycy5cblxuVGhpcyBpcyBhIHNvbWV3aGF0IGJydXRlLWZvcmNlIGF0dGVtcHQgdGhhdCByZWxpZXMgb24gdGhlIGBiaXAzMkRlcml2YXRpb25gIGZpZWxkIHRvIGJlIHNldC5cblxuSXQgd2lsbCBwcm9iYWJseSBvbmx5IHdvcmsgY29ycmVjdGx5IGlmIGFsbCB4cHVicyBpbiB0aGUgZGVzY3JpcHRvciBhcmUgZGVyaXZhYmxlLlxuXG5XZSBzaG91bGQgdGFrZSBhIGxvb2sgYXQgYSBtb3JlIHJvYnVzdCBhbmQgc3RhbmRhcmQgYXBwcm9hY2ggbGlrZSB0aGlzOiBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL3B1bGwvMTU0OFxuXG4gKi9cbmltcG9ydCB7IFBzYnRJbnB1dCwgUHNidE91dHB1dCB9IGZyb20gJ2JpcDE3NC9zcmMvbGliL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwIH0gZnJvbSAnLi4vRGVzY3JpcHRvck1hcCc7XG5cbnR5cGUgRGVzY3JpcHRvcldpdGhJbmRleCA9IHsgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjsgaW5kZXg6IG51bWJlciB9O1xuXG4vKipcbiAqIEZpbmQgYSBkZXNjcmlwdG9yIGluIHRoZSBkZXNjcmlwdG9yIG1hcCB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIHNjcmlwdCBhbmQgZGVyaXZhdGlvbiBpbmRleC5cbiAqIEBwYXJhbSBzY3JpcHRcbiAqIEBwYXJhbSBpbmRleFxuICogQHBhcmFtIGRlc2NyaXB0b3JNYXBcbiAqIEByZXR1cm5zIERlc2NyaXB0b3JXaXRoSW5kZXggaWYgZm91bmQsIHVuZGVmaW5lZCBvdGhlcndpc2VcbiAqL1xuZnVuY3Rpb24gZmluZERlc2NyaXB0b3JGb3JEZXJpdmF0aW9uSW5kZXgoXG4gIHNjcmlwdDogQnVmZmVyLFxuICBpbmRleDogbnVtYmVyLFxuICBkZXNjcmlwdG9yTWFwOiBEZXNjcmlwdG9yTWFwXG4pOiBEZXNjcmlwdG9yV2l0aEluZGV4IHwgdW5kZWZpbmVkIHtcbiAgZm9yIChjb25zdCBkZXNjcmlwdG9yIG9mIGRlc2NyaXB0b3JNYXAudmFsdWVzKCkpIHtcbiAgICBpZiAoQnVmZmVyLmZyb20oZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChpbmRleCkuc2NyaXB0UHVia2V5KCkpLmVxdWFscyhzY3JpcHQpKSB7XG4gICAgICByZXR1cm4geyBkZXNjcmlwdG9yLCBpbmRleCB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldERlcml2YXRpb25JbmRleEZyb21QYXRoKHBhdGg6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IGluZGV4U3RyID0gcGF0aC5zcGxpdCgnLycpLnBvcCgpO1xuICBpZiAoIWluZGV4U3RyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRlcml2YXRpb24gcGF0aCAke3BhdGh9YCk7XG4gIH1cbiAgY29uc3QgaW5kZXggPSBwYXJzZUludChpbmRleFN0ciwgMTApO1xuICBpZiAoaW5kZXgudG9TdHJpbmcoKSAhPT0gaW5kZXhTdHIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGVyaXZhdGlvbiBwYXRoICR7cGF0aH1gKTtcbiAgfVxuICByZXR1cm4gaW5kZXg7XG59XG5cbi8qKlxuICogV3JhcHBlciBhcm91bmQgZmluZERlc2NyaXB0b3JGb3JEZXJpdmF0aW9uUGF0aCB0aGF0IHRyaWVzIG11bHRpcGxlIGRlcml2YXRpb24gcGF0aHMuXG4gKiBAcGFyYW0gc2NyaXB0XG4gKiBAcGFyYW0gZGVyaXZhdGlvblBhdGhzXG4gKiBAcGFyYW0gZGVzY3JpcHRvck1hcFxuICovXG5mdW5jdGlvbiBmaW5kRGVzY3JpcHRvckZvckFueURlcml2YXRpb25QYXRoKFxuICBzY3JpcHQ6IEJ1ZmZlcixcbiAgZGVyaXZhdGlvblBhdGhzOiBzdHJpbmdbXSxcbiAgZGVzY3JpcHRvck1hcDogRGVzY3JpcHRvck1hcFxuKTogRGVzY3JpcHRvcldpdGhJbmRleCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGRlcml2YXRpb25JbmRleFNldCA9IG5ldyBTZXQoZGVyaXZhdGlvblBhdGhzLm1hcCgocCkgPT4gZ2V0RGVyaXZhdGlvbkluZGV4RnJvbVBhdGgocCkpKTtcbiAgZm9yIChjb25zdCBpbmRleCBvZiBbLi4uZGVyaXZhdGlvbkluZGV4U2V0XSkge1xuICAgIGNvbnN0IGRlc2MgPSBmaW5kRGVzY3JpcHRvckZvckRlcml2YXRpb25JbmRleChzY3JpcHQsIGluZGV4LCBkZXNjcmlwdG9yTWFwKTtcbiAgICBpZiAoZGVzYykge1xuICAgICAgcmV0dXJuIGRlc2M7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxudHlwZSBXaXRoQmlwMzJEZXJpdmF0aW9uID0geyBiaXAzMkRlcml2YXRpb24/OiB7IHBhdGg6IHN0cmluZyB9W10gfTtcbnR5cGUgV2l0aFRhcEJpcDMyRGVyaXZhdGlvbiA9IHsgdGFwQmlwMzJEZXJpdmF0aW9uPzogeyBwYXRoOiBzdHJpbmcgfVtdIH07XG5cbmZ1bmN0aW9uIGdldERlcml2YXRpb25QYXRocyh2OiBXaXRoQmlwMzJEZXJpdmF0aW9uIHwgV2l0aFRhcEJpcDMyRGVyaXZhdGlvbik6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCdiaXAzMkRlcml2YXRpb24nIGluIHYgJiYgdi5iaXAzMkRlcml2YXRpb24pIHtcbiAgICByZXR1cm4gdi5iaXAzMkRlcml2YXRpb24ubWFwKCh2KSA9PiB2LnBhdGgpO1xuICB9XG4gIGlmICgndGFwQmlwMzJEZXJpdmF0aW9uJyBpbiB2ICYmIHYudGFwQmlwMzJEZXJpdmF0aW9uKSB7XG4gICAgcmV0dXJuIHYudGFwQmlwMzJEZXJpdmF0aW9uLm1hcCgodikgPT4gdi5wYXRoKS5maWx0ZXIoKHYpID0+IHYgIT09ICcnICYmIHYgIT09ICdtJyk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAcGFyYW0gaW5wdXRcbiAqIEBwYXJhbSBkZXNjcmlwdG9yTWFwXG4gKiBAcmV0dXJucyBEZXNjcmlwdG9yV2l0aEluZGV4IGZvciB0aGUgaW5wdXQgaWYgZm91bmQsIHVuZGVmaW5lZCBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmREZXNjcmlwdG9yRm9ySW5wdXQoXG4gIGlucHV0OiBQc2J0SW5wdXQsXG4gIGRlc2NyaXB0b3JNYXA6IERlc2NyaXB0b3JNYXBcbik6IERlc2NyaXB0b3JXaXRoSW5kZXggfCB1bmRlZmluZWQge1xuICBjb25zdCBzY3JpcHQgPSBpbnB1dC53aXRuZXNzVXR4bz8uc2NyaXB0O1xuICBpZiAoIXNjcmlwdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBzY3JpcHQnKTtcbiAgfVxuICBjb25zdCBkZXJpdmF0aW9uUGF0aHMgPSBnZXREZXJpdmF0aW9uUGF0aHMoaW5wdXQpO1xuICBpZiAoIWRlcml2YXRpb25QYXRocykge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBkZXJpdmF0aW9uIHBhdGhzJyk7XG4gIH1cbiAgcmV0dXJuIGZpbmREZXNjcmlwdG9yRm9yQW55RGVyaXZhdGlvblBhdGgoc2NyaXB0LCBkZXJpdmF0aW9uUGF0aHMsIGRlc2NyaXB0b3JNYXApO1xufVxuXG4vKipcbiAqIEBwYXJhbSBzY3JpcHQgLSB0aGUgb3V0cHV0IHNjcmlwdFxuICogQHBhcmFtIG91dHB1dCAtIHRoZSBQU0JUIG91dHB1dFxuICogQHBhcmFtIGRlc2NyaXB0b3JNYXBcbiAqIEByZXR1cm5zIERlc2NyaXB0b3JXaXRoSW5kZXggZm9yIHRoZSBvdXRwdXQgaWYgZm91bmQsIHVuZGVmaW5lZCBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmREZXNjcmlwdG9yRm9yT3V0cHV0KFxuICBzY3JpcHQ6IEJ1ZmZlcixcbiAgb3V0cHV0OiBQc2J0T3V0cHV0LFxuICBkZXNjcmlwdG9yTWFwOiBEZXNjcmlwdG9yTWFwXG4pOiBEZXNjcmlwdG9yV2l0aEluZGV4IHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZGVyaXZhdGlvblBhdGhzID0gZ2V0RGVyaXZhdGlvblBhdGhzKG91dHB1dCk7XG4gIGlmICghZGVyaXZhdGlvblBhdGhzKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICByZXR1cm4gZmluZERlc2NyaXB0b3JGb3JBbnlEZXJpdmF0aW9uUGF0aChzY3JpcHQsIGRlcml2YXRpb25QYXRocywgZGVzY3JpcHRvck1hcCk7XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- export type { PsbtParams } from './createPsbt';
2
- export { createPsbt } from './createPsbt';
3
- export { parse } from './parse';
4
- export { finalizePsbt } from './wrap';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/descriptor/psbt/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.finalizePsbt = exports.parse = exports.createPsbt = void 0;
4
- var createPsbt_1 = require("./createPsbt");
5
- Object.defineProperty(exports, "createPsbt", { enumerable: true, get: function () { return createPsbt_1.createPsbt; } });
6
- var parse_1 = require("./parse");
7
- Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } });
8
- var wrap_1 = require("./wrap");
9
- Object.defineProperty(exports, "finalizePsbt", { enumerable: true, get: function () { return wrap_1.finalizePsbt; } });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9kZXNjcmlwdG9yL3BzYnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQTBDO0FBQWpDLHdHQUFBLFVBQVUsT0FBQTtBQUNuQixpQ0FBZ0M7QUFBdkIsOEZBQUEsS0FBSyxPQUFBO0FBRWQsK0JBQXNDO0FBQTdCLG9HQUFBLFlBQVksT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgUHNidFBhcmFtcyB9IGZyb20gJy4vY3JlYXRlUHNidCc7XG5leHBvcnQgeyBjcmVhdGVQc2J0IH0gZnJvbSAnLi9jcmVhdGVQc2J0JztcbmV4cG9ydCB7IHBhcnNlIH0gZnJvbSAnLi9wYXJzZSc7XG5cbmV4cG9ydCB7IGZpbmFsaXplUHNidCB9IGZyb20gJy4vd3JhcCc7XG4iXX0=
@@ -1,27 +0,0 @@
1
- import { Descriptor } from '@bitgo/wasm-miniscript';
2
- import * as utxolib from '@bitgo/utxo-lib';
3
- import { DescriptorMap } from '../DescriptorMap';
4
- export type ScriptId = {
5
- descriptor: Descriptor;
6
- index: number;
7
- };
8
- export type ParsedInput = {
9
- address: string;
10
- value: bigint;
11
- scriptId: ScriptId;
12
- };
13
- export type ParsedOutput = {
14
- address?: string;
15
- script: Buffer;
16
- value: bigint;
17
- scriptId?: ScriptId;
18
- };
19
- export type ParsedDescriptorTransaction = {
20
- inputs: ParsedInput[];
21
- outputs: ParsedOutput[];
22
- spendAmount: bigint;
23
- minerFee: bigint;
24
- virtualSize: number;
25
- };
26
- export declare function parse(psbt: utxolib.Psbt, descriptorMap: DescriptorMap, network: utxolib.Network): ParsedDescriptorTransaction;
27
- //# sourceMappingURL=parse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../src/core/descriptor/psbt/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,MAAM,MAAM,QAAQ,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,wBAAgB,KAAK,CACnB,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,2BAA2B,CA0C7B"}
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.parse = parse;
37
- const utxolib = __importStar(require("@bitgo/utxo-lib"));
38
- const VirtualSize_1 = require("../VirtualSize");
39
- const findDescriptors_1 = require("./findDescriptors");
40
- const assertSatisfiable_1 = require("./assertSatisfiable");
41
- function sum(...values) {
42
- return values.reduce((a, b) => a + b, BigInt(0));
43
- }
44
- function parse(psbt, descriptorMap, network) {
45
- const inputs = psbt.data.inputs.map((input, inputIndex) => {
46
- if (!input.witnessUtxo) {
47
- throw new Error('invalid input: no witnessUtxo');
48
- }
49
- if (!input.witnessUtxo.value) {
50
- throw new Error('invalid input: no value');
51
- }
52
- const descriptorWithIndex = (0, findDescriptors_1.findDescriptorForInput)(input, descriptorMap);
53
- if (!descriptorWithIndex) {
54
- throw new Error('invalid input: no descriptor found');
55
- }
56
- (0, assertSatisfiable_1.assertSatisfiable)(psbt, inputIndex, descriptorWithIndex.descriptor);
57
- return {
58
- address: utxolib.address.fromOutputScript(input.witnessUtxo.script, network),
59
- value: input.witnessUtxo.value,
60
- scriptId: descriptorWithIndex,
61
- };
62
- });
63
- const outputs = psbt.txOutputs.map((output, i) => {
64
- if (output.value === undefined) {
65
- throw new Error('invalid output: no value');
66
- }
67
- const descriptorWithIndex = (0, findDescriptors_1.findDescriptorForOutput)(output.script, psbt.data.outputs[i], descriptorMap);
68
- return {
69
- address: output.address,
70
- script: output.script,
71
- value: output.value,
72
- scriptId: descriptorWithIndex,
73
- };
74
- });
75
- const inputAmount = sum(...inputs.map((input) => input.value));
76
- const outputSum = sum(...outputs.map((output) => output.value));
77
- const spendAmount = sum(...outputs.filter((output) => !('descriptor' in output)).map((output) => output.value));
78
- const minerFee = inputAmount - outputSum;
79
- return {
80
- inputs,
81
- outputs,
82
- spendAmount,
83
- minerFee,
84
- virtualSize: (0, VirtualSize_1.getVirtualSize)({ inputs: inputs.map((i) => i.scriptId.descriptor), outputs }),
85
- };
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9kZXNjcmlwdG9yL3BzYnQvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQ0Esc0JBOENDO0FBakZELHlEQUEyQztBQUczQyxnREFBZ0Q7QUFFaEQsdURBQW9GO0FBQ3BGLDJEQUF3RDtBQXlCeEQsU0FBUyxHQUFHLENBQUMsR0FBRyxNQUFnQjtJQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxTQUFnQixLQUFLLENBQ25CLElBQWtCLEVBQ2xCLGFBQTRCLEVBQzVCLE9BQXdCO0lBRXhCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQWUsRUFBRTtRQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUFHLElBQUEsd0NBQXNCLEVBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFBQSxxQ0FBaUIsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BFLE9BQU87WUFDTCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7WUFDNUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSztZQUM5QixRQUFRLEVBQUUsbUJBQW1CO1NBQzlCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBZ0IsRUFBRTtRQUM3RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUFHLElBQUEseUNBQXVCLEVBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN4RyxPQUFPO1lBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRSxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoSCxNQUFNLFFBQVEsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLE9BQU87UUFDTCxNQUFNO1FBQ04sT0FBTztRQUNQLFdBQVc7UUFDWCxRQUFRO1FBQ1IsV0FBVyxFQUFFLElBQUEsNEJBQWMsRUFBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO0tBQzNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwIH0gZnJvbSAnLi4vRGVzY3JpcHRvck1hcCc7XG5pbXBvcnQgeyBnZXRWaXJ0dWFsU2l6ZSB9IGZyb20gJy4uL1ZpcnR1YWxTaXplJztcblxuaW1wb3J0IHsgZmluZERlc2NyaXB0b3JGb3JJbnB1dCwgZmluZERlc2NyaXB0b3JGb3JPdXRwdXQgfSBmcm9tICcuL2ZpbmREZXNjcmlwdG9ycyc7XG5pbXBvcnQgeyBhc3NlcnRTYXRpc2ZpYWJsZSB9IGZyb20gJy4vYXNzZXJ0U2F0aXNmaWFibGUnO1xuXG5leHBvcnQgdHlwZSBTY3JpcHRJZCA9IHsgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjsgaW5kZXg6IG51bWJlciB9O1xuXG5leHBvcnQgdHlwZSBQYXJzZWRJbnB1dCA9IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICB2YWx1ZTogYmlnaW50O1xuICBzY3JpcHRJZDogU2NyaXB0SWQ7XG59O1xuXG5leHBvcnQgdHlwZSBQYXJzZWRPdXRwdXQgPSB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIHNjcmlwdDogQnVmZmVyO1xuICB2YWx1ZTogYmlnaW50O1xuICBzY3JpcHRJZD86IFNjcmlwdElkO1xufTtcblxuZXhwb3J0IHR5cGUgUGFyc2VkRGVzY3JpcHRvclRyYW5zYWN0aW9uID0ge1xuICBpbnB1dHM6IFBhcnNlZElucHV0W107XG4gIG91dHB1dHM6IFBhcnNlZE91dHB1dFtdO1xuICBzcGVuZEFtb3VudDogYmlnaW50O1xuICBtaW5lckZlZTogYmlnaW50O1xuICB2aXJ0dWFsU2l6ZTogbnVtYmVyO1xufTtcblxuZnVuY3Rpb24gc3VtKC4uLnZhbHVlczogYmlnaW50W10pOiBiaWdpbnQge1xuICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIEJpZ0ludCgwKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShcbiAgcHNidDogdXR4b2xpYi5Qc2J0LFxuICBkZXNjcmlwdG9yTWFwOiBEZXNjcmlwdG9yTWFwLFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IFBhcnNlZERlc2NyaXB0b3JUcmFuc2FjdGlvbiB7XG4gIGNvbnN0IGlucHV0cyA9IHBzYnQuZGF0YS5pbnB1dHMubWFwKChpbnB1dCwgaW5wdXRJbmRleCk6IFBhcnNlZElucHV0ID0+IHtcbiAgICBpZiAoIWlucHV0LndpdG5lc3NVdHhvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgaW5wdXQ6IG5vIHdpdG5lc3NVdHhvJyk7XG4gICAgfVxuICAgIGlmICghaW5wdXQud2l0bmVzc1V0eG8udmFsdWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBpbnB1dDogbm8gdmFsdWUnKTtcbiAgICB9XG4gICAgY29uc3QgZGVzY3JpcHRvcldpdGhJbmRleCA9IGZpbmREZXNjcmlwdG9yRm9ySW5wdXQoaW5wdXQsIGRlc2NyaXB0b3JNYXApO1xuICAgIGlmICghZGVzY3JpcHRvcldpdGhJbmRleCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGlucHV0OiBubyBkZXNjcmlwdG9yIGZvdW5kJyk7XG4gICAgfVxuICAgIGFzc2VydFNhdGlzZmlhYmxlKHBzYnQsIGlucHV0SW5kZXgsIGRlc2NyaXB0b3JXaXRoSW5kZXguZGVzY3JpcHRvcik7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZHJlc3M6IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KGlucHV0LndpdG5lc3NVdHhvLnNjcmlwdCwgbmV0d29yayksXG4gICAgICB2YWx1ZTogaW5wdXQud2l0bmVzc1V0eG8udmFsdWUsXG4gICAgICBzY3JpcHRJZDogZGVzY3JpcHRvcldpdGhJbmRleCxcbiAgICB9O1xuICB9KTtcbiAgY29uc3Qgb3V0cHV0cyA9IHBzYnQudHhPdXRwdXRzLm1hcCgob3V0cHV0LCBpKTogUGFyc2VkT3V0cHV0ID0+IHtcbiAgICBpZiAob3V0cHV0LnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBvdXRwdXQ6IG5vIHZhbHVlJyk7XG4gICAgfVxuICAgIGNvbnN0IGRlc2NyaXB0b3JXaXRoSW5kZXggPSBmaW5kRGVzY3JpcHRvckZvck91dHB1dChvdXRwdXQuc2NyaXB0LCBwc2J0LmRhdGEub3V0cHV0c1tpXSwgZGVzY3JpcHRvck1hcCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgc2NyaXB0OiBvdXRwdXQuc2NyaXB0LFxuICAgICAgdmFsdWU6IG91dHB1dC52YWx1ZSxcbiAgICAgIHNjcmlwdElkOiBkZXNjcmlwdG9yV2l0aEluZGV4LFxuICAgIH07XG4gIH0pO1xuICBjb25zdCBpbnB1dEFtb3VudCA9IHN1bSguLi5pbnB1dHMubWFwKChpbnB1dCkgPT4gaW5wdXQudmFsdWUpKTtcbiAgY29uc3Qgb3V0cHV0U3VtID0gc3VtKC4uLm91dHB1dHMubWFwKChvdXRwdXQpID0+IG91dHB1dC52YWx1ZSkpO1xuICBjb25zdCBzcGVuZEFtb3VudCA9IHN1bSguLi5vdXRwdXRzLmZpbHRlcigob3V0cHV0KSA9PiAhKCdkZXNjcmlwdG9yJyBpbiBvdXRwdXQpKS5tYXAoKG91dHB1dCkgPT4gb3V0cHV0LnZhbHVlKSk7XG4gIGNvbnN0IG1pbmVyRmVlID0gaW5wdXRBbW91bnQgLSBvdXRwdXRTdW07XG4gIHJldHVybiB7XG4gICAgaW5wdXRzLFxuICAgIG91dHB1dHMsXG4gICAgc3BlbmRBbW91bnQsXG4gICAgbWluZXJGZWUsXG4gICAgdmlydHVhbFNpemU6IGdldFZpcnR1YWxTaXplKHsgaW5wdXRzOiBpbnB1dHMubWFwKChpKSA9PiBpLnNjcmlwdElkLmRlc2NyaXB0b3IpLCBvdXRwdXRzIH0pLFxuICB9O1xufVxuIl19
@@ -1,12 +0,0 @@
1
- import { Psbt as WasmPsbt } from '@bitgo/wasm-miniscript';
2
- import * as utxolib from '@bitgo/utxo-lib';
3
- export declare function toWrappedPsbt(psbt: utxolib.bitgo.UtxoPsbt | utxolib.Psbt | Buffer | Uint8Array): WasmPsbt;
4
- export declare function toUtxoPsbt(psbt: WasmPsbt | Buffer | Uint8Array, network: utxolib.Network): utxolib.bitgo.UtxoPsbt;
5
- /**
6
- * Use `wasm-miniscript` to finalize a PSBT.
7
- * Miniscript based finalization is more powerful than bitcoinjs-lib's / utxo-lib's finalization
8
- * and can finalize more complex scripts (e.g. miniscript descriptors).
9
- * @param psbt
10
- */
11
- export declare function finalizePsbt(psbt: utxolib.bitgo.UtxoPsbt): void;
12
- //# sourceMappingURL=wrap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../../../src/core/descriptor/psbt/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAQzG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAQjH;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAU/D"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.toWrappedPsbt = toWrappedPsbt;
37
- exports.toUtxoPsbt = toUtxoPsbt;
38
- exports.finalizePsbt = finalizePsbt;
39
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
40
- const utxolib = __importStar(require("@bitgo/utxo-lib"));
41
- function toWrappedPsbt(psbt) {
42
- if (psbt instanceof utxolib.bitgo.UtxoPsbt || psbt instanceof utxolib.Psbt) {
43
- psbt = psbt.toBuffer();
44
- }
45
- if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
46
- return wasm_miniscript_1.Psbt.deserialize(psbt);
47
- }
48
- throw new Error('Invalid input');
49
- }
50
- function toUtxoPsbt(psbt, network) {
51
- if (psbt instanceof wasm_miniscript_1.Psbt) {
52
- psbt = psbt.serialize();
53
- }
54
- if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
55
- return utxolib.bitgo.UtxoPsbt.fromBuffer(Buffer.from(psbt), { network });
56
- }
57
- throw new Error('Invalid input');
58
- }
59
- /**
60
- * Use `wasm-miniscript` to finalize a PSBT.
61
- * Miniscript based finalization is more powerful than bitcoinjs-lib's / utxo-lib's finalization
62
- * and can finalize more complex scripts (e.g. miniscript descriptors).
63
- * @param psbt
64
- */
65
- function finalizePsbt(psbt) {
66
- if (utxolib.getMainnet(psbt.network) !== utxolib.networks.bitcoin) {
67
- throw new Error('only bitcoin and testnet are supported');
68
- }
69
- const wrappedPsbt = toWrappedPsbt(psbt);
70
- wrappedPsbt.finalize();
71
- const unwrappedPsbt = toUtxoPsbt(wrappedPsbt, psbt.network);
72
- for (let i = 0; i < psbt.data.inputs.length; i++) {
73
- psbt.data.inputs[i] = unwrappedPsbt.data.inputs[i];
74
- }
75
- }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL2Rlc2NyaXB0b3IvcHNidC93cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0Esc0NBUUM7QUFFRCxnQ0FRQztBQVFELG9DQVVDO0FBdkNELDREQUEwRDtBQUMxRCx5REFBMkM7QUFFM0MsU0FBZ0IsYUFBYSxDQUFDLElBQWlFO0lBQzdGLElBQUksSUFBSSxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksWUFBWSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxJQUFJLFlBQVksTUFBTSxJQUFJLElBQUksWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUN6RCxPQUFPLHNCQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxTQUFnQixVQUFVLENBQUMsSUFBb0MsRUFBRSxPQUF3QjtJQUN2RixJQUFJLElBQUksWUFBWSxzQkFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxJQUFJLFlBQVksTUFBTSxJQUFJLElBQUksWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUN6RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixZQUFZLENBQUMsSUFBNEI7SUFDdkQsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQc2J0IGFzIFdhc21Qc2J0IH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1dyYXBwZWRQc2J0KHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCB1dHhvbGliLlBzYnQgfCBCdWZmZXIgfCBVaW50OEFycmF5KTogV2FzbVBzYnQge1xuICBpZiAocHNidCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfHwgcHNidCBpbnN0YW5jZW9mIHV0eG9saWIuUHNidCkge1xuICAgIHBzYnQgPSBwc2J0LnRvQnVmZmVyKCk7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBCdWZmZXIgfHwgcHNidCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICByZXR1cm4gV2FzbVBzYnQuZGVzZXJpYWxpemUocHNidCk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlucHV0Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0eG9Qc2J0KHBzYnQ6IFdhc21Qc2J0IHwgQnVmZmVyIHwgVWludDhBcnJheSwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgV2FzbVBzYnQpIHtcbiAgICBwc2J0ID0gcHNidC5zZXJpYWxpemUoKTtcbiAgfVxuICBpZiAocHNidCBpbnN0YW5jZW9mIEJ1ZmZlciB8fCBwc2J0IGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgIHJldHVybiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0LmZyb21CdWZmZXIoQnVmZmVyLmZyb20ocHNidCksIHsgbmV0d29yayB9KTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW5wdXQnKTtcbn1cblxuLyoqXG4gKiBVc2UgYHdhc20tbWluaXNjcmlwdGAgdG8gZmluYWxpemUgYSBQU0JULlxuICogTWluaXNjcmlwdCBiYXNlZCBmaW5hbGl6YXRpb24gaXMgbW9yZSBwb3dlcmZ1bCB0aGFuIGJpdGNvaW5qcy1saWIncyAvIHV0eG8tbGliJ3MgZmluYWxpemF0aW9uXG4gKiBhbmQgY2FuIGZpbmFsaXplIG1vcmUgY29tcGxleCBzY3JpcHRzIChlLmcuIG1pbmlzY3JpcHQgZGVzY3JpcHRvcnMpLlxuICogQHBhcmFtIHBzYnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmFsaXplUHNidChwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KTogdm9pZCB7XG4gIGlmICh1dHhvbGliLmdldE1haW5uZXQocHNidC5uZXR3b3JrKSAhPT0gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdvbmx5IGJpdGNvaW4gYW5kIHRlc3RuZXQgYXJlIHN1cHBvcnRlZCcpO1xuICB9XG4gIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidChwc2J0KTtcbiAgd3JhcHBlZFBzYnQuZmluYWxpemUoKTtcbiAgY29uc3QgdW53cmFwcGVkUHNidCA9IHRvVXR4b1BzYnQod3JhcHBlZFBzYnQsIHBzYnQubmV0d29yayk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcHNidC5kYXRhLmlucHV0cy5sZW5ndGg7IGkrKykge1xuICAgIHBzYnQuZGF0YS5pbnB1dHNbaV0gPSB1bndyYXBwZWRQc2J0LmRhdGEuaW5wdXRzW2ldO1xuICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- import * as utxolib from '@bitgo/utxo-lib';
2
- export declare function signTxLocal(tx: utxolib.bitgo.UtxoPsbt, key: utxolib.BIP32Interface): utxolib.bitgo.UtxoPsbt;
3
- //# sourceMappingURL=signTxLocal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signTxLocal.d.ts","sourceRoot":"","sources":["../../../../src/core/descriptor/signTxLocal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAI3G"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.signTxLocal = signTxLocal;
4
- function signTxLocal(tx, key) {
5
- tx = tx.clone();
6
- tx.signAllInputsHD(key);
7
- return tx;
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblR4TG9jYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9kZXNjcmlwdG9yL3NpZ25UeExvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsa0NBSUM7QUFKRCxTQUFnQixXQUFXLENBQUMsRUFBMEIsRUFBRSxHQUEyQjtJQUNqRixFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hCLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5leHBvcnQgZnVuY3Rpb24gc2lnblR4TG9jYWwodHg6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQsIGtleTogdXR4b2xpYi5CSVAzMkludGVyZmFjZSk6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICB0eCA9IHR4LmNsb25lKCk7XG4gIHR4LnNpZ25BbGxJbnB1dHNIRChrZXkpO1xuICByZXR1cm4gdHg7XG59XG4iXX0=