@bitgo-beta/abstract-utxo 1.6.1-alpha.267 → 1.6.1-alpha.268

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 +8 -8
  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,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toDescriptorMap = toDescriptorMap;
4
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
5
- /** Convert an array of descriptor name-value pairs to a descriptor map */
6
- function toDescriptorMap(descriptors) {
7
- return new Map(descriptors.map((d) => [
8
- d.name,
9
- d.value instanceof wasm_miniscript_1.Descriptor ? d.value : wasm_miniscript_1.Descriptor.fromString(d.value, 'derivable'),
10
- ]));
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVzY3JpcHRvck1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL2Rlc2NyaXB0b3IvRGVzY3JpcHRvck1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLDBDQU9DO0FBYkQsNERBQW9EO0FBS3BELDBFQUEwRTtBQUMxRSxTQUFnQixlQUFlLENBQUMsV0FBMkQ7SUFDekYsT0FBTyxJQUFJLEdBQUcsQ0FDWixXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsSUFBSTtRQUNOLENBQUMsQ0FBQyxLQUFLLFlBQVksNEJBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsNEJBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7S0FDdEYsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG4vKiogTWFwIGZyb20gZGVzY3JpcHRvciBuYW1lIHRvIGRlc2NyaXB0b3IgKi9cbmV4cG9ydCB0eXBlIERlc2NyaXB0b3JNYXAgPSBNYXA8c3RyaW5nLCBEZXNjcmlwdG9yPjtcblxuLyoqIENvbnZlcnQgYW4gYXJyYXkgb2YgZGVzY3JpcHRvciBuYW1lLXZhbHVlIHBhaXJzIHRvIGEgZGVzY3JpcHRvciBtYXAgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Rlc2NyaXB0b3JNYXAoZGVzY3JpcHRvcnM6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogRGVzY3JpcHRvciB8IHN0cmluZyB9W10pOiBEZXNjcmlwdG9yTWFwIHtcbiAgcmV0dXJuIG5ldyBNYXAoXG4gICAgZGVzY3JpcHRvcnMubWFwKChkKSA9PiBbXG4gICAgICBkLm5hbWUsXG4gICAgICBkLnZhbHVlIGluc3RhbmNlb2YgRGVzY3JpcHRvciA/IGQudmFsdWUgOiBEZXNjcmlwdG9yLmZyb21TdHJpbmcoZC52YWx1ZSwgJ2Rlcml2YWJsZScpLFxuICAgIF0pXG4gICk7XG59XG4iXX0=
@@ -1,24 +0,0 @@
1
- import { Descriptor } from '@bitgo/wasm-miniscript';
2
- import { DescriptorMap } from './DescriptorMap';
3
- export type Output = {
4
- script: Buffer;
5
- value: bigint;
6
- };
7
- export type WithDescriptor<T> = T & {
8
- descriptor: Descriptor;
9
- };
10
- export type WithOptDescriptor<T> = T & {
11
- descriptor?: Descriptor;
12
- };
13
- export type PrevOutput = {
14
- hash: string;
15
- index: number;
16
- witnessUtxo: Output;
17
- };
18
- export type DescriptorWalletOutput = PrevOutput & {
19
- descriptorName: string;
20
- descriptorIndex: number;
21
- };
22
- export type DerivedDescriptorWalletOutput = WithDescriptor<PrevOutput>;
23
- export declare function toDerivedDescriptorWalletOutput(output: DescriptorWalletOutput, descriptorMap: DescriptorMap): DerivedDescriptorWalletOutput;
24
- //# sourceMappingURL=Output.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Output.d.ts","sourceRoot":"","sources":["../../../../src/core/descriptor/Output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG;IAClC,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAEvE,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,sBAAsB,EAC9B,aAAa,EAAE,aAAa,GAC3B,6BAA6B,CAgB/B"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toDerivedDescriptorWalletOutput = toDerivedDescriptorWalletOutput;
4
- const address_1 = require("./address");
5
- function toDerivedDescriptorWalletOutput(output, descriptorMap) {
6
- const descriptor = descriptorMap.get(output.descriptorName);
7
- if (!descriptor) {
8
- throw new Error(`Descriptor not found: ${output.descriptorName}`);
9
- }
10
- const derivedDescriptor = descriptor.atDerivationIndex(output.descriptorIndex);
11
- const script = (0, address_1.createScriptPubKeyFromDescriptor)(derivedDescriptor);
12
- if (!script.equals(output.witnessUtxo.script)) {
13
- throw new Error(`Script mismatch: descriptor ${output.descriptorName} ${descriptor.toString()} script=${script}`);
14
- }
15
- return {
16
- hash: output.hash,
17
- index: output.index,
18
- witnessUtxo: output.witnessUtxo,
19
- descriptor: descriptor.atDerivationIndex(output.descriptorIndex),
20
- };
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvcmUvZGVzY3JpcHRvci9PdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErQkEsMEVBbUJDO0FBL0NELHVDQUE2RDtBQTRCN0QsU0FBZ0IsK0JBQStCLENBQzdDLE1BQThCLEVBQzlCLGFBQTRCO0lBRTVCLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9FLE1BQU0sTUFBTSxHQUFHLElBQUEsMENBQWdDLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsTUFBTSxDQUFDLGNBQWMsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLFdBQVcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtRQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFDbkIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1FBQy9CLFVBQVUsRUFBRSxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztLQUNqRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuaW1wb3J0IHsgRGVzY3JpcHRvck1hcCB9IGZyb20gJy4vRGVzY3JpcHRvck1hcCc7XG5pbXBvcnQgeyBjcmVhdGVTY3JpcHRQdWJLZXlGcm9tRGVzY3JpcHRvciB9IGZyb20gJy4vYWRkcmVzcyc7XG5cbmV4cG9ydCB0eXBlIE91dHB1dCA9IHtcbiAgc2NyaXB0OiBCdWZmZXI7XG4gIHZhbHVlOiBiaWdpbnQ7XG59O1xuXG5leHBvcnQgdHlwZSBXaXRoRGVzY3JpcHRvcjxUPiA9IFQgJiB7XG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3I7XG59O1xuXG5leHBvcnQgdHlwZSBXaXRoT3B0RGVzY3JpcHRvcjxUPiA9IFQgJiB7XG4gIGRlc2NyaXB0b3I/OiBEZXNjcmlwdG9yO1xufTtcblxuZXhwb3J0IHR5cGUgUHJldk91dHB1dCA9IHtcbiAgaGFzaDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICB3aXRuZXNzVXR4bzogT3V0cHV0O1xufTtcblxuZXhwb3J0IHR5cGUgRGVzY3JpcHRvcldhbGxldE91dHB1dCA9IFByZXZPdXRwdXQgJiB7XG4gIGRlc2NyaXB0b3JOYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0b3JJbmRleDogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgRGVyaXZlZERlc2NyaXB0b3JXYWxsZXRPdXRwdXQgPSBXaXRoRGVzY3JpcHRvcjxQcmV2T3V0cHV0PjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvRGVyaXZlZERlc2NyaXB0b3JXYWxsZXRPdXRwdXQoXG4gIG91dHB1dDogRGVzY3JpcHRvcldhbGxldE91dHB1dCxcbiAgZGVzY3JpcHRvck1hcDogRGVzY3JpcHRvck1hcFxuKTogRGVyaXZlZERlc2NyaXB0b3JXYWxsZXRPdXRwdXQge1xuICBjb25zdCBkZXNjcmlwdG9yID0gZGVzY3JpcHRvck1hcC5nZXQob3V0cHV0LmRlc2NyaXB0b3JOYW1lKTtcbiAgaWYgKCFkZXNjcmlwdG9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEZXNjcmlwdG9yIG5vdCBmb3VuZDogJHtvdXRwdXQuZGVzY3JpcHRvck5hbWV9YCk7XG4gIH1cbiAgY29uc3QgZGVyaXZlZERlc2NyaXB0b3IgPSBkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KG91dHB1dC5kZXNjcmlwdG9ySW5kZXgpO1xuICBjb25zdCBzY3JpcHQgPSBjcmVhdGVTY3JpcHRQdWJLZXlGcm9tRGVzY3JpcHRvcihkZXJpdmVkRGVzY3JpcHRvcik7XG4gIGlmICghc2NyaXB0LmVxdWFscyhvdXRwdXQud2l0bmVzc1V0eG8uc2NyaXB0KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU2NyaXB0IG1pc21hdGNoOiBkZXNjcmlwdG9yICR7b3V0cHV0LmRlc2NyaXB0b3JOYW1lfSAke2Rlc2NyaXB0b3IudG9TdHJpbmcoKX0gc2NyaXB0PSR7c2NyaXB0fWApO1xuICB9XG4gIHJldHVybiB7XG4gICAgaGFzaDogb3V0cHV0Lmhhc2gsXG4gICAgaW5kZXg6IG91dHB1dC5pbmRleCxcbiAgICB3aXRuZXNzVXR4bzogb3V0cHV0LndpdG5lc3NVdHhvLFxuICAgIGRlc2NyaXB0b3I6IGRlc2NyaXB0b3IuYXREZXJpdmF0aW9uSW5kZXgob3V0cHV0LmRlc2NyaXB0b3JJbmRleCksXG4gIH07XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Descriptor } from '@bitgo/wasm-miniscript';
2
- import { DescriptorMap } from './DescriptorMap';
3
- export declare function getInputVSizesForDescriptors(descriptors: DescriptorMap): Record<string, number>;
4
- export declare function getChangeOutputVSizesForDescriptor(d: Descriptor): {
5
- inputVSize: number;
6
- outputVSize: number;
7
- };
8
- type InputWithDescriptorName = {
9
- descriptorName: string;
10
- };
11
- type OutputWithScript = {
12
- script: Buffer;
13
- };
14
- type Tx<TInput> = {
15
- inputs: TInput[];
16
- outputs: OutputWithScript[];
17
- };
18
- export declare function getVirtualSize(tx: Tx<Descriptor>): number;
19
- export declare function getVirtualSize(tx: Tx<InputWithDescriptorName>, descriptors: DescriptorMap): number;
20
- export {};
21
- //# sourceMappingURL=VirtualSize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VirtualSize.d.ts","sourceRoot":"","sources":["../../../../src/core/descriptor/VirtualSize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiDhD,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM/F;AAED,wBAAgB,kCAAkC,CAAC,CAAC,EAAE,UAAU,GAAG;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAKA;AAED,KAAK,uBAAuB,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1D,KAAK,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C,KAAK,EAAE,CAAC,MAAM,IAAI;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;AAC3D,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC"}
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInputVSizesForDescriptors = getInputVSizesForDescriptors;
4
- exports.getChangeOutputVSizesForDescriptor = getChangeOutputVSizesForDescriptor;
5
- exports.getVirtualSize = getVirtualSize;
6
- const unspents_1 = require("@bitgo-beta/unspents");
7
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
8
- function getScriptPubKeyLength(descType) {
9
- // See https://bitcoinops.org/en/tools/calc-size/
10
- switch (descType) {
11
- case 'Wpkh':
12
- // https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wpkh
13
- return 22;
14
- case 'Sh':
15
- case 'ShWsh':
16
- case 'ShWpkh':
17
- // https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki#specification
18
- return 23;
19
- case 'Pkh':
20
- return 25;
21
- case 'Wsh':
22
- case 'Tr':
23
- // P2WSH: https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wsh
24
- // P2TR: https://github.com/bitcoin/bips/blob/58ffd93812ff25e87d53d1f202fbb389fdfb85bb/bip-0341.mediawiki#script-validation-rules
25
- // > A Taproot output is a native SegWit output (see BIP141) with version number 1, and a 32-byte witness program.
26
- // 32 bytes for the hash, 1 byte for the version, 1 byte for the push opcode
27
- return 34;
28
- case 'Bare':
29
- throw new Error('cannot determine scriptPubKey length for Bare descriptor');
30
- default:
31
- throw new Error('unexpected descriptor type ' + descType);
32
- }
33
- }
34
- function getInputVSizeForDescriptor(descriptor) {
35
- // FIXME(BTC-1489): this can overestimate the size of the input significantly
36
- const maxWeight = descriptor.maxWeightToSatisfy();
37
- const maxVSize = Math.ceil(maxWeight / 4);
38
- const sizeOpPushdata1 = 1;
39
- const sizeOpPushdata2 = 2;
40
- return (
41
- // inputId
42
- 32 +
43
- // vOut
44
- 4 +
45
- // nSequence
46
- 4 +
47
- // script overhead
48
- (maxVSize < 255 ? sizeOpPushdata1 : sizeOpPushdata2) +
49
- // script
50
- maxVSize);
51
- }
52
- function getInputVSizesForDescriptors(descriptors) {
53
- return Object.fromEntries(Array.from(descriptors.entries()).map(([name, d]) => {
54
- return [name, getInputVSizeForDescriptor(d)];
55
- }));
56
- }
57
- function getChangeOutputVSizesForDescriptor(d) {
58
- return {
59
- inputVSize: getInputVSizeForDescriptor(d),
60
- outputVSize: getScriptPubKeyLength(d.descType()),
61
- };
62
- }
63
- function getVirtualSize(tx, descriptorMap) {
64
- const lookup = descriptorMap ? getInputVSizesForDescriptors(descriptorMap) : undefined;
65
- const inputVSize = tx.inputs.reduce((sum, input) => {
66
- if (input instanceof wasm_miniscript_1.Descriptor) {
67
- return sum + getInputVSizeForDescriptor(input);
68
- }
69
- if ('descriptorName' in input) {
70
- if (!lookup) {
71
- throw new Error('missing descriptorMap');
72
- }
73
- const vsize = lookup[input.descriptorName];
74
- if (!vsize) {
75
- throw new Error(`Could not find descriptor ${input.descriptorName}`);
76
- }
77
- return sum + vsize;
78
- }
79
- throw new Error('unexpected input');
80
- }, 0);
81
- const outputVSize = tx.outputs.reduce((sum, o) => {
82
- return sum + unspents_1.Dimensions.getVSizeForOutputWithScriptLength(o.script.length);
83
- }, 0);
84
- // we will just assume that we have at least one segwit input
85
- return inputVSize + outputVSize + unspents_1.VirtualSizes.txSegOverheadVSize;
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlydHVhbFNpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9kZXNjcmlwdG9yL1ZpcnR1YWxTaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBb0RBLG9FQU1DO0FBRUQsZ0ZBUUM7QUFZRCx3Q0EwQkM7QUExR0QsbURBQWdFO0FBQ2hFLDREQUFvRDtBQUlwRCxTQUFTLHFCQUFxQixDQUFDLFFBQWdCO0lBQzdDLGlEQUFpRDtJQUNqRCxRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssTUFBTTtZQUNULHdFQUF3RTtZQUN4RSxPQUFPLEVBQUUsQ0FBQztRQUNaLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLFFBQVE7WUFDWCwrRUFBK0U7WUFDL0UsT0FBTyxFQUFFLENBQUM7UUFDWixLQUFLLEtBQUs7WUFDUixPQUFPLEVBQUUsQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxJQUFJO1lBQ1AsOEVBQThFO1lBQzlFLGlJQUFpSTtZQUNqSSxrSEFBa0g7WUFDbEgsNEVBQTRFO1lBQzVFLE9BQU8sRUFBRSxDQUFDO1FBQ1osS0FBSyxNQUFNO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQzlFO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsMEJBQTBCLENBQUMsVUFBc0I7SUFDeEQsNkVBQTZFO0lBQzdFLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztJQUMxQixNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDMUIsT0FBTztJQUNMLFVBQVU7SUFDVixFQUFFO1FBQ0YsT0FBTztRQUNQLENBQUM7UUFDRCxZQUFZO1FBQ1osQ0FBQztRQUNELGtCQUFrQjtRQUNsQixDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQ3BELFNBQVM7UUFDVCxRQUFRLENBQ1QsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQiw0QkFBNEIsQ0FBQyxXQUEwQjtJQUNyRSxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNsRCxPQUFPLENBQUMsSUFBSSxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixrQ0FBa0MsQ0FBQyxDQUFhO0lBSTlELE9BQU87UUFDTCxVQUFVLEVBQUUsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDakQsQ0FBQztBQUNKLENBQUM7QUFZRCxTQUFnQixjQUFjLENBQzVCLEVBQWdELEVBQ2hELGFBQTZCO0lBRTdCLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RixNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNqRCxJQUFJLEtBQUssWUFBWSw0QkFBVSxFQUFFLENBQUM7WUFDaEMsT0FBTyxHQUFHLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELElBQUksZ0JBQWdCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDdkUsQ0FBQztZQUNELE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNOLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQy9DLE9BQU8sR0FBRyxHQUFHLHFCQUFVLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDTiw2REFBNkQ7SUFDN0QsT0FBTyxVQUFVLEdBQUcsV0FBVyxHQUFHLHVCQUFZLENBQUMsa0JBQWtCLENBQUM7QUFDcEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpbWVuc2lvbnMsIFZpcnR1YWxTaXplcyB9IGZyb20gJ0BiaXRnby1iZXRhL3Vuc3BlbnRzJztcbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuaW1wb3J0IHsgRGVzY3JpcHRvck1hcCB9IGZyb20gJy4vRGVzY3JpcHRvck1hcCc7XG5cbmZ1bmN0aW9uIGdldFNjcmlwdFB1YktleUxlbmd0aChkZXNjVHlwZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgLy8gU2VlIGh0dHBzOi8vYml0Y29pbm9wcy5vcmcvZW4vdG9vbHMvY2FsYy1zaXplL1xuICBzd2l0Y2ggKGRlc2NUeXBlKSB7XG4gICAgY2FzZSAnV3BraCc6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL2Jsb2IvbWFzdGVyL2JpcC0wMTQxLm1lZGlhd2lraSNwMndwa2hcbiAgICAgIHJldHVybiAyMjtcbiAgICBjYXNlICdTaCc6XG4gICAgY2FzZSAnU2hXc2gnOlxuICAgIGNhc2UgJ1NoV3BraCc6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL2Jsb2IvbWFzdGVyL2JpcC0wMDE2Lm1lZGlhd2lraSNzcGVjaWZpY2F0aW9uXG4gICAgICByZXR1cm4gMjM7XG4gICAgY2FzZSAnUGtoJzpcbiAgICAgIHJldHVybiAyNTtcbiAgICBjYXNlICdXc2gnOlxuICAgIGNhc2UgJ1RyJzpcbiAgICAgIC8vIFAyV1NIOiBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL2Jsb2IvbWFzdGVyL2JpcC0wMTQxLm1lZGlhd2lraSNwMndzaFxuICAgICAgLy8gUDJUUjogaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy9ibG9iLzU4ZmZkOTM4MTJmZjI1ZTg3ZDUzZDFmMjAyZmJiMzg5ZmRmYjg1YmIvYmlwLTAzNDEubWVkaWF3aWtpI3NjcmlwdC12YWxpZGF0aW9uLXJ1bGVzXG4gICAgICAvLyA+IEEgVGFwcm9vdCBvdXRwdXQgaXMgYSBuYXRpdmUgU2VnV2l0IG91dHB1dCAoc2VlIEJJUDE0MSkgd2l0aCB2ZXJzaW9uIG51bWJlciAxLCBhbmQgYSAzMi1ieXRlIHdpdG5lc3MgcHJvZ3JhbS5cbiAgICAgIC8vIDMyIGJ5dGVzIGZvciB0aGUgaGFzaCwgMSBieXRlIGZvciB0aGUgdmVyc2lvbiwgMSBieXRlIGZvciB0aGUgcHVzaCBvcGNvZGVcbiAgICAgIHJldHVybiAzNDtcbiAgICBjYXNlICdCYXJlJzpcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2Fubm90IGRldGVybWluZSBzY3JpcHRQdWJLZXkgbGVuZ3RoIGZvciBCYXJlIGRlc2NyaXB0b3InKTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmV4cGVjdGVkIGRlc2NyaXB0b3IgdHlwZSAnICsgZGVzY1R5cGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldElucHV0VlNpemVGb3JEZXNjcmlwdG9yKGRlc2NyaXB0b3I6IERlc2NyaXB0b3IpOiBudW1iZXIge1xuICAvLyBGSVhNRShCVEMtMTQ4OSk6IHRoaXMgY2FuIG92ZXJlc3RpbWF0ZSB0aGUgc2l6ZSBvZiB0aGUgaW5wdXQgc2lnbmlmaWNhbnRseVxuICBjb25zdCBtYXhXZWlnaHQgPSBkZXNjcmlwdG9yLm1heFdlaWdodFRvU2F0aXNmeSgpO1xuICBjb25zdCBtYXhWU2l6ZSA9IE1hdGguY2VpbChtYXhXZWlnaHQgLyA0KTtcbiAgY29uc3Qgc2l6ZU9wUHVzaGRhdGExID0gMTtcbiAgY29uc3Qgc2l6ZU9wUHVzaGRhdGEyID0gMjtcbiAgcmV0dXJuIChcbiAgICAvLyBpbnB1dElkXG4gICAgMzIgK1xuICAgIC8vIHZPdXRcbiAgICA0ICtcbiAgICAvLyBuU2VxdWVuY2VcbiAgICA0ICtcbiAgICAvLyBzY3JpcHQgb3ZlcmhlYWRcbiAgICAobWF4VlNpemUgPCAyNTUgPyBzaXplT3BQdXNoZGF0YTEgOiBzaXplT3BQdXNoZGF0YTIpICtcbiAgICAvLyBzY3JpcHRcbiAgICBtYXhWU2l6ZVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5wdXRWU2l6ZXNGb3JEZXNjcmlwdG9ycyhkZXNjcmlwdG9yczogRGVzY3JpcHRvck1hcCk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4ge1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIEFycmF5LmZyb20oZGVzY3JpcHRvcnMuZW50cmllcygpKS5tYXAoKFtuYW1lLCBkXSkgPT4ge1xuICAgICAgcmV0dXJuIFtuYW1lLCBnZXRJbnB1dFZTaXplRm9yRGVzY3JpcHRvcihkKV07XG4gICAgfSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENoYW5nZU91dHB1dFZTaXplc0ZvckRlc2NyaXB0b3IoZDogRGVzY3JpcHRvcik6IHtcbiAgaW5wdXRWU2l6ZTogbnVtYmVyO1xuICBvdXRwdXRWU2l6ZTogbnVtYmVyO1xufSB7XG4gIHJldHVybiB7XG4gICAgaW5wdXRWU2l6ZTogZ2V0SW5wdXRWU2l6ZUZvckRlc2NyaXB0b3IoZCksXG4gICAgb3V0cHV0VlNpemU6IGdldFNjcmlwdFB1YktleUxlbmd0aChkLmRlc2NUeXBlKCkpLFxuICB9O1xufVxuXG50eXBlIElucHV0V2l0aERlc2NyaXB0b3JOYW1lID0geyBkZXNjcmlwdG9yTmFtZTogc3RyaW5nIH07XG50eXBlIE91dHB1dFdpdGhTY3JpcHQgPSB7IHNjcmlwdDogQnVmZmVyIH07XG5cbnR5cGUgVHg8VElucHV0PiA9IHtcbiAgaW5wdXRzOiBUSW5wdXRbXTtcbiAgb3V0cHV0czogT3V0cHV0V2l0aFNjcmlwdFtdO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZpcnR1YWxTaXplKHR4OiBUeDxEZXNjcmlwdG9yPik6IG51bWJlcjtcbmV4cG9ydCBmdW5jdGlvbiBnZXRWaXJ0dWFsU2l6ZSh0eDogVHg8SW5wdXRXaXRoRGVzY3JpcHRvck5hbWU+LCBkZXNjcmlwdG9yczogRGVzY3JpcHRvck1hcCk6IG51bWJlcjtcbmV4cG9ydCBmdW5jdGlvbiBnZXRWaXJ0dWFsU2l6ZShcbiAgdHg6IFR4PERlc2NyaXB0b3I+IHwgVHg8SW5wdXRXaXRoRGVzY3JpcHRvck5hbWU+LFxuICBkZXNjcmlwdG9yTWFwPzogRGVzY3JpcHRvck1hcFxuKTogbnVtYmVyIHtcbiAgY29uc3QgbG9va3VwID0gZGVzY3JpcHRvck1hcCA/IGdldElucHV0VlNpemVzRm9yRGVzY3JpcHRvcnMoZGVzY3JpcHRvck1hcCkgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGlucHV0VlNpemUgPSB0eC5pbnB1dHMucmVkdWNlKChzdW0sIGlucHV0KSA9PiB7XG4gICAgaWYgKGlucHV0IGluc3RhbmNlb2YgRGVzY3JpcHRvcikge1xuICAgICAgcmV0dXJuIHN1bSArIGdldElucHV0VlNpemVGb3JEZXNjcmlwdG9yKGlucHV0KTtcbiAgICB9XG4gICAgaWYgKCdkZXNjcmlwdG9yTmFtZScgaW4gaW5wdXQpIHtcbiAgICAgIGlmICghbG9va3VwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBkZXNjcmlwdG9yTWFwJyk7XG4gICAgICB9XG4gICAgICBjb25zdCB2c2l6ZSA9IGxvb2t1cFtpbnB1dC5kZXNjcmlwdG9yTmFtZV07XG4gICAgICBpZiAoIXZzaXplKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgZGVzY3JpcHRvciAke2lucHV0LmRlc2NyaXB0b3JOYW1lfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1bSArIHZzaXplO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuZXhwZWN0ZWQgaW5wdXQnKTtcbiAgfSwgMCk7XG4gIGNvbnN0IG91dHB1dFZTaXplID0gdHgub3V0cHV0cy5yZWR1Y2UoKHN1bSwgbykgPT4ge1xuICAgIHJldHVybiBzdW0gKyBEaW1lbnNpb25zLmdldFZTaXplRm9yT3V0cHV0V2l0aFNjcmlwdExlbmd0aChvLnNjcmlwdC5sZW5ndGgpO1xuICB9LCAwKTtcbiAgLy8gd2Ugd2lsbCBqdXN0IGFzc3VtZSB0aGF0IHdlIGhhdmUgYXQgbGVhc3Qgb25lIHNlZ3dpdCBpbnB1dFxuICByZXR1cm4gaW5wdXRWU2l6ZSArIG91dHB1dFZTaXplICsgVmlydHVhbFNpemVzLnR4U2VnT3ZlcmhlYWRWU2l6ZTtcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- import { Descriptor } from '@bitgo/wasm-miniscript';
2
- import * as utxolib from '@bitgo-beta/utxo-lib';
3
- export declare function createScriptPubKeyFromDescriptor(descriptor: Descriptor, index?: number): Buffer;
4
- export declare function createAddressFromDescriptor(descriptor: Descriptor, index: number | undefined, network: utxolib.Network): string;
5
- //# sourceMappingURL=address.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../src/core/descriptor/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAK/F;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,MAAM,CAER"}
@@ -1,48 +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.createScriptPubKeyFromDescriptor = createScriptPubKeyFromDescriptor;
37
- exports.createAddressFromDescriptor = createAddressFromDescriptor;
38
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
- function createScriptPubKeyFromDescriptor(descriptor, index) {
40
- if (index === undefined) {
41
- return Buffer.from(descriptor.scriptPubkey());
42
- }
43
- return createScriptPubKeyFromDescriptor(descriptor.atDerivationIndex(index));
44
- }
45
- function createAddressFromDescriptor(descriptor, index, network) {
46
- return utxolib.address.fromOutputScript(createScriptPubKeyFromDescriptor(descriptor, index), network);
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL2Rlc2NyaXB0b3IvYWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLDRFQUtDO0FBRUQsa0VBTUM7QUFmRCw4REFBZ0Q7QUFFaEQsU0FBZ0IsZ0NBQWdDLENBQUMsVUFBc0IsRUFBRSxLQUFjO0lBQ3JGLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsT0FBTyxnQ0FBZ0MsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDO0FBRUQsU0FBZ0IsMkJBQTJCLENBQ3pDLFVBQXNCLEVBQ3RCLEtBQXlCLEVBQ3pCLE9BQXdCO0lBRXhCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDeEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVzY3JpcHRvcjogRGVzY3JpcHRvciwgaW5kZXg/OiBudW1iZXIpOiBCdWZmZXIge1xuICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShkZXNjcmlwdG9yLnNjcmlwdFB1YmtleSgpKTtcbiAgfVxuICByZXR1cm4gY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChpbmRleCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWRkcmVzc0Zyb21EZXNjcmlwdG9yKFxuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IHN0cmluZyB7XG4gIHJldHVybiB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChjcmVhdGVTY3JpcHRQdWJLZXlGcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yLCBpbmRleCksIG5ldHdvcmspO1xufVxuIl19
@@ -1,9 +0,0 @@
1
- export type { Output, DescriptorWalletOutput, WithDescriptor, WithOptDescriptor } from './Output';
2
- export type { DescriptorMap } from './DescriptorMap';
3
- export type { PsbtParams } from './psbt';
4
- export { createAddressFromDescriptor, createScriptPubKeyFromDescriptor } from './address';
5
- export { createPsbt, finalizePsbt, parse } from './psbt';
6
- export { toDescriptorMap } from './DescriptorMap';
7
- export { toDerivedDescriptorWalletOutput } from './Output';
8
- export { signTxLocal } from './signTxLocal';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/descriptor/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClG,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.signTxLocal = exports.toDerivedDescriptorWalletOutput = exports.toDescriptorMap = exports.parse = exports.finalizePsbt = exports.createPsbt = exports.createScriptPubKeyFromDescriptor = exports.createAddressFromDescriptor = void 0;
4
- var address_1 = require("./address");
5
- Object.defineProperty(exports, "createAddressFromDescriptor", { enumerable: true, get: function () { return address_1.createAddressFromDescriptor; } });
6
- Object.defineProperty(exports, "createScriptPubKeyFromDescriptor", { enumerable: true, get: function () { return address_1.createScriptPubKeyFromDescriptor; } });
7
- var psbt_1 = require("./psbt");
8
- Object.defineProperty(exports, "createPsbt", { enumerable: true, get: function () { return psbt_1.createPsbt; } });
9
- Object.defineProperty(exports, "finalizePsbt", { enumerable: true, get: function () { return psbt_1.finalizePsbt; } });
10
- Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return psbt_1.parse; } });
11
- var DescriptorMap_1 = require("./DescriptorMap");
12
- Object.defineProperty(exports, "toDescriptorMap", { enumerable: true, get: function () { return DescriptorMap_1.toDescriptorMap; } });
13
- var Output_1 = require("./Output");
14
- Object.defineProperty(exports, "toDerivedDescriptorWalletOutput", { enumerable: true, get: function () { return Output_1.toDerivedDescriptorWalletOutput; } });
15
- var signTxLocal_1 = require("./signTxLocal");
16
- Object.defineProperty(exports, "signTxLocal", { enumerable: true, get: function () { return signTxLocal_1.signTxLocal; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9kZXNjcmlwdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFDQUEwRjtBQUFqRixzSEFBQSwyQkFBMkIsT0FBQTtBQUFFLDJIQUFBLGdDQUFnQyxPQUFBO0FBQ3RFLCtCQUF5RDtBQUFoRCxrR0FBQSxVQUFVLE9BQUE7QUFBRSxvR0FBQSxZQUFZLE9BQUE7QUFBRSw2RkFBQSxLQUFLLE9BQUE7QUFDeEMsaURBQWtEO0FBQXpDLGdIQUFBLGVBQWUsT0FBQTtBQUN4QixtQ0FBMkQ7QUFBbEQseUhBQUEsK0JBQStCLE9BQUE7QUFDeEMsNkNBQTRDO0FBQW5DLDBHQUFBLFdBQVcsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgT3V0cHV0LCBEZXNjcmlwdG9yV2FsbGV0T3V0cHV0LCBXaXRoRGVzY3JpcHRvciwgV2l0aE9wdERlc2NyaXB0b3IgfSBmcm9tICcuL091dHB1dCc7XG5leHBvcnQgdHlwZSB7IERlc2NyaXB0b3JNYXAgfSBmcm9tICcuL0Rlc2NyaXB0b3JNYXAnO1xuZXhwb3J0IHR5cGUgeyBQc2J0UGFyYW1zIH0gZnJvbSAnLi9wc2J0JztcblxuZXhwb3J0IHsgY3JlYXRlQWRkcmVzc0Zyb21EZXNjcmlwdG9yLCBjcmVhdGVTY3JpcHRQdWJLZXlGcm9tRGVzY3JpcHRvciB9IGZyb20gJy4vYWRkcmVzcyc7XG5leHBvcnQgeyBjcmVhdGVQc2J0LCBmaW5hbGl6ZVBzYnQsIHBhcnNlIH0gZnJvbSAnLi9wc2J0JztcbmV4cG9ydCB7IHRvRGVzY3JpcHRvck1hcCB9IGZyb20gJy4vRGVzY3JpcHRvck1hcCc7XG5leHBvcnQgeyB0b0Rlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0IH0gZnJvbSAnLi9PdXRwdXQnO1xuZXhwb3J0IHsgc2lnblR4TG9jYWwgfSBmcm9tICcuL3NpZ25UeExvY2FsJztcbiJdfQ==
@@ -1,20 +0,0 @@
1
- /**
2
- * These are some helpers for testing satisfiability of descriptors in PSBTs.
3
- *
4
- * They are mostly a debugging aid - if an input cannot be satisified, the `finalizePsbt()` method will fail, but
5
- * the error message is pretty vague.
6
- *
7
- * The methods here have the goal of catching certain cases earlier and with a better error message.
8
- *
9
- * The goal is not an exhaustive check, but to catch common mistakes.
10
- */
11
- import { Descriptor } from '@bitgo/wasm-miniscript';
12
- import * as utxolib from '@bitgo-beta/utxo-lib';
13
- export declare const FINAL_SEQUENCE = 4294967295;
14
- /**
15
- * Get the required locktime for a descriptor.
16
- * @param descriptor
17
- */
18
- export declare function getRequiredLocktime(descriptor: Descriptor | unknown): number | undefined;
19
- export declare function assertSatisfiable(psbt: utxolib.Psbt, inputIndex: number, descriptor: Descriptor): void;
20
- //# sourceMappingURL=assertSatisfiable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertSatisfiable.d.ts","sourceRoot":"","sources":["../../../../../src/core/descriptor/psbt/assertSatisfiable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAsCxF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAYtG"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FINAL_SEQUENCE = void 0;
4
- exports.getRequiredLocktime = getRequiredLocktime;
5
- exports.assertSatisfiable = assertSatisfiable;
6
- /**
7
- * These are some helpers for testing satisfiability of descriptors in PSBTs.
8
- *
9
- * They are mostly a debugging aid - if an input cannot be satisified, the `finalizePsbt()` method will fail, but
10
- * the error message is pretty vague.
11
- *
12
- * The methods here have the goal of catching certain cases earlier and with a better error message.
13
- *
14
- * The goal is not an exhaustive check, but to catch common mistakes.
15
- */
16
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
17
- exports.FINAL_SEQUENCE = 0xffffffff;
18
- /**
19
- * Get the required locktime for a descriptor.
20
- * @param descriptor
21
- */
22
- function getRequiredLocktime(descriptor) {
23
- if (descriptor instanceof wasm_miniscript_1.Descriptor) {
24
- return getRequiredLocktime(descriptor.node());
25
- }
26
- if (typeof descriptor !== 'object' || descriptor === null) {
27
- return undefined;
28
- }
29
- if ('Wsh' in descriptor) {
30
- return getRequiredLocktime(descriptor.Wsh);
31
- }
32
- if ('Sh' in descriptor) {
33
- return getRequiredLocktime(descriptor.Sh);
34
- }
35
- if ('Ms' in descriptor) {
36
- return getRequiredLocktime(descriptor.Ms);
37
- }
38
- if ('AndV' in descriptor) {
39
- if (!Array.isArray(descriptor.AndV)) {
40
- throw new Error('Expected an array');
41
- }
42
- if (descriptor.AndV.length !== 2) {
43
- throw new Error('Expected exactly two elements');
44
- }
45
- const [a, b] = descriptor.AndV;
46
- return getRequiredLocktime(a) ?? getRequiredLocktime(b);
47
- }
48
- if ('Drop' in descriptor) {
49
- return getRequiredLocktime(descriptor.Drop);
50
- }
51
- if ('Verify' in descriptor) {
52
- return getRequiredLocktime(descriptor.Verify);
53
- }
54
- if ('After' in descriptor && typeof descriptor.After === 'object' && descriptor.After !== null) {
55
- if ('absLockTime' in descriptor.After && typeof descriptor.After.absLockTime === 'number') {
56
- return descriptor.After.absLockTime;
57
- }
58
- }
59
- return undefined;
60
- }
61
- function assertSatisfiable(psbt, inputIndex, descriptor) {
62
- // If the descriptor requires a locktime, the input must have a non-final sequence number
63
- const requiredLocktime = getRequiredLocktime(descriptor);
64
- if (requiredLocktime !== undefined) {
65
- const input = psbt.txInputs[inputIndex];
66
- if (input.sequence === exports.FINAL_SEQUENCE) {
67
- throw new Error(`Input ${inputIndex} has a non-final sequence number, but requires a timelock`);
68
- }
69
- if (psbt.locktime !== requiredLocktime) {
70
- throw new Error(`psbt locktime (${psbt.locktime}) does not match required locktime (${requiredLocktime})`);
71
- }
72
- }
73
- }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0U2F0aXNmaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9kZXNjcmlwdG9yL3BzYnQvYXNzZXJ0U2F0aXNmaWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLGtEQXNDQztBQUVELDhDQVlDO0FBdkVEOzs7Ozs7Ozs7R0FTRztBQUNILDREQUFvRDtBQUd2QyxRQUFBLGNBQWMsR0FBRyxVQUFVLENBQUM7QUFFekM7OztHQUdHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsVUFBZ0M7SUFDbEUsSUFBSSxVQUFVLFlBQVksNEJBQVUsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMxRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxLQUFLLElBQUksVUFBVSxFQUFFLENBQUM7UUFDeEIsT0FBTyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQUksSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUN2QixPQUFPLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQy9CLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUMzQixPQUFPLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxPQUFPLElBQUksVUFBVSxJQUFJLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMvRixJQUFJLGFBQWEsSUFBSSxVQUFVLENBQUMsS0FBSyxJQUFJLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUYsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFrQixFQUFFLFVBQWtCLEVBQUUsVUFBc0I7SUFDOUYseUZBQXlGO0lBQ3pGLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekQsSUFBSSxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxzQkFBYyxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLFVBQVUsMkRBQTJELENBQUMsQ0FBQztRQUNsRyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLGdCQUFnQixFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFFBQVEsdUNBQXVDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUM3RyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZXNlIGFyZSBzb21lIGhlbHBlcnMgZm9yIHRlc3Rpbmcgc2F0aXNmaWFiaWxpdHkgb2YgZGVzY3JpcHRvcnMgaW4gUFNCVHMuXG4gKlxuICogVGhleSBhcmUgbW9zdGx5IGEgZGVidWdnaW5nIGFpZCAtIGlmIGFuIGlucHV0IGNhbm5vdCBiZSBzYXRpc2lmaWVkLCB0aGUgYGZpbmFsaXplUHNidCgpYCBtZXRob2Qgd2lsbCBmYWlsLCBidXRcbiAqIHRoZSBlcnJvciBtZXNzYWdlIGlzIHByZXR0eSB2YWd1ZS5cbiAqXG4gKiBUaGUgbWV0aG9kcyBoZXJlIGhhdmUgdGhlIGdvYWwgb2YgY2F0Y2hpbmcgY2VydGFpbiBjYXNlcyBlYXJsaWVyIGFuZCB3aXRoIGEgYmV0dGVyIGVycm9yIG1lc3NhZ2UuXG4gKlxuICogVGhlIGdvYWwgaXMgbm90IGFuIGV4aGF1c3RpdmUgY2hlY2ssIGJ1dCB0byBjYXRjaCBjb21tb24gbWlzdGFrZXMuXG4gKi9cbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgY29uc3QgRklOQUxfU0VRVUVOQ0UgPSAweGZmZmZmZmZmO1xuXG4vKipcbiAqIEdldCB0aGUgcmVxdWlyZWQgbG9ja3RpbWUgZm9yIGEgZGVzY3JpcHRvci5cbiAqIEBwYXJhbSBkZXNjcmlwdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXF1aXJlZExvY2t0aW1lKGRlc2NyaXB0b3I6IERlc2NyaXB0b3IgfCB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBEZXNjcmlwdG9yKSB7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoZGVzY3JpcHRvci5ub2RlKCkpO1xuICB9XG4gIGlmICh0eXBlb2YgZGVzY3JpcHRvciAhPT0gJ29iamVjdCcgfHwgZGVzY3JpcHRvciA9PT0gbnVsbCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgaWYgKCdXc2gnIGluIGRlc2NyaXB0b3IpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yLldzaCk7XG4gIH1cbiAgaWYgKCdTaCcgaW4gZGVzY3JpcHRvcikge1xuICAgIHJldHVybiBnZXRSZXF1aXJlZExvY2t0aW1lKGRlc2NyaXB0b3IuU2gpO1xuICB9XG4gIGlmICgnTXMnIGluIGRlc2NyaXB0b3IpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yLk1zKTtcbiAgfVxuICBpZiAoJ0FuZFYnIGluIGRlc2NyaXB0b3IpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGVzY3JpcHRvci5BbmRWKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhbiBhcnJheScpO1xuICAgIH1cbiAgICBpZiAoZGVzY3JpcHRvci5BbmRWLmxlbmd0aCAhPT0gMikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBleGFjdGx5IHR3byBlbGVtZW50cycpO1xuICAgIH1cbiAgICBjb25zdCBbYSwgYl0gPSBkZXNjcmlwdG9yLkFuZFY7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoYSkgPz8gZ2V0UmVxdWlyZWRMb2NrdGltZShiKTtcbiAgfVxuICBpZiAoJ0Ryb3AnIGluIGRlc2NyaXB0b3IpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yLkRyb3ApO1xuICB9XG4gIGlmICgnVmVyaWZ5JyBpbiBkZXNjcmlwdG9yKSB7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoZGVzY3JpcHRvci5WZXJpZnkpO1xuICB9XG4gIGlmICgnQWZ0ZXInIGluIGRlc2NyaXB0b3IgJiYgdHlwZW9mIGRlc2NyaXB0b3IuQWZ0ZXIgPT09ICdvYmplY3QnICYmIGRlc2NyaXB0b3IuQWZ0ZXIgIT09IG51bGwpIHtcbiAgICBpZiAoJ2Fic0xvY2tUaW1lJyBpbiBkZXNjcmlwdG9yLkFmdGVyICYmIHR5cGVvZiBkZXNjcmlwdG9yLkFmdGVyLmFic0xvY2tUaW1lID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3IuQWZ0ZXIuYWJzTG9ja1RpbWU7XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRTYXRpc2ZpYWJsZShwc2J0OiB1dHhvbGliLlBzYnQsIGlucHV0SW5kZXg6IG51bWJlciwgZGVzY3JpcHRvcjogRGVzY3JpcHRvcik6IHZvaWQge1xuICAvLyBJZiB0aGUgZGVzY3JpcHRvciByZXF1aXJlcyBhIGxvY2t0aW1lLCB0aGUgaW5wdXQgbXVzdCBoYXZlIGEgbm9uLWZpbmFsIHNlcXVlbmNlIG51bWJlclxuICBjb25zdCByZXF1aXJlZExvY2t0aW1lID0gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yKTtcbiAgaWYgKHJlcXVpcmVkTG9ja3RpbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGlucHV0ID0gcHNidC50eElucHV0c1tpbnB1dEluZGV4XTtcbiAgICBpZiAoaW5wdXQuc2VxdWVuY2UgPT09IEZJTkFMX1NFUVVFTkNFKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYElucHV0ICR7aW5wdXRJbmRleH0gaGFzIGEgbm9uLWZpbmFsIHNlcXVlbmNlIG51bWJlciwgYnV0IHJlcXVpcmVzIGEgdGltZWxvY2tgKTtcbiAgICB9XG4gICAgaWYgKHBzYnQubG9ja3RpbWUgIT09IHJlcXVpcmVkTG9ja3RpbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcHNidCBsb2NrdGltZSAoJHtwc2J0LmxvY2t0aW1lfSkgZG9lcyBub3QgbWF0Y2ggcmVxdWlyZWQgbG9ja3RpbWUgKCR7cmVxdWlyZWRMb2NrdGltZX0pYCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- import * as utxolib from '@bitgo-beta/utxo-lib';
2
- import { DerivedDescriptorWalletOutput, Output, WithOptDescriptor } from '../Output';
3
- /**
4
- * Non-Final (Replaceable)
5
- * Reference: https://github.com/bitcoin/bitcoin/blob/v25.1/src/rpc/rawtransaction_util.cpp#L49
6
- * */
7
- export declare const MAX_BIP125_RBF_SEQUENCE: number;
8
- export type PsbtParams = {
9
- network: utxolib.Network;
10
- version?: number;
11
- locktime?: number;
12
- sequence?: number;
13
- };
14
- export declare function createPsbt(params: PsbtParams, inputs: DerivedDescriptorWalletOutput[], outputs: WithOptDescriptor<Output>[]): utxolib.bitgo.UtxoPsbt;
15
- //# sourceMappingURL=createPsbt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createPsbt.d.ts","sourceRoot":"","sources":["../../../../../src/core/descriptor/psbt/createPsbt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,6BAA6B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAKrF;;;KAGK;AACL,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AA8BtD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,UAAU,CACxB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,6BAA6B,EAAE,EACvC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,GACnC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAYxB"}
@@ -1,82 +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.MAX_BIP125_RBF_SEQUENCE = void 0;
37
- exports.createPsbt = createPsbt;
38
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
- const wrap_1 = require("./wrap");
40
- const assertSatisfiable_1 = require("./assertSatisfiable");
41
- /**
42
- * Non-Final (Replaceable)
43
- * Reference: https://github.com/bitcoin/bitcoin/blob/v25.1/src/rpc/rawtransaction_util.cpp#L49
44
- * */
45
- exports.MAX_BIP125_RBF_SEQUENCE = 0xffffffff - 2;
46
- function updateInputsWithDescriptors(psbt, descriptors) {
47
- if (psbt.txInputs.length !== descriptors.length) {
48
- throw new Error(`Input count mismatch (psbt=${psbt.txInputs.length}, descriptors=${descriptors.length})`);
49
- }
50
- const wrappedPsbt = (0, wrap_1.toWrappedPsbt)(psbt);
51
- for (const [inputIndex, descriptor] of descriptors.entries()) {
52
- (0, assertSatisfiable_1.assertSatisfiable)(psbt, inputIndex, descriptor);
53
- wrappedPsbt.updateInputWithDescriptor(inputIndex, descriptor);
54
- }
55
- const unwrappedPsbt = (0, wrap_1.toUtxoPsbt)(wrappedPsbt, psbt.network);
56
- for (const inputIndex in psbt.txInputs) {
57
- psbt.data.inputs[inputIndex] = unwrappedPsbt.data.inputs[inputIndex];
58
- }
59
- }
60
- function updateOutputsWithDescriptors(psbt, descriptors) {
61
- const wrappedPsbt = (0, wrap_1.toWrappedPsbt)(psbt);
62
- for (const [outputIndex, { descriptor }] of descriptors.entries()) {
63
- if (descriptor) {
64
- wrappedPsbt.updateOutputWithDescriptor(outputIndex, descriptor);
65
- }
66
- }
67
- const unwrappedPsbt = (0, wrap_1.toUtxoPsbt)(wrappedPsbt, psbt.network);
68
- for (const outputIndex in psbt.txOutputs) {
69
- psbt.data.outputs[outputIndex] = unwrappedPsbt.data.outputs[outputIndex];
70
- }
71
- }
72
- function createPsbt(params, inputs, outputs) {
73
- const psbt = utxolib.bitgo.UtxoPsbt.createPsbt({ network: params.network });
74
- psbt.setVersion(params.version ?? 2);
75
- psbt.setLocktime(params.locktime ?? 0);
76
- psbt.addInputs(inputs.map((i) => ({ ...i, sequence: params.sequence ?? exports.MAX_BIP125_RBF_SEQUENCE })));
77
- psbt.addOutputs(outputs);
78
- updateInputsWithDescriptors(psbt, inputs.map((i) => i.descriptor));
79
- updateOutputsWithDescriptors(psbt, outputs);
80
- return psbt;
81
- }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUHNidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL2Rlc2NyaXB0b3IvcHNidC9jcmVhdGVQc2J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlEQSxnQ0FnQkM7QUFqRUQsOERBQWdEO0FBS2hELGlDQUFtRDtBQUNuRCwyREFBd0Q7QUFFeEQ7OztLQUdLO0FBQ1EsUUFBQSx1QkFBdUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBRXRELFNBQVMsMkJBQTJCLENBQUMsSUFBNEIsRUFBRSxXQUF5QjtJQUMxRixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0saUJBQWlCLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQzdELElBQUEscUNBQWlCLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxXQUFXLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFBLGlCQUFVLEVBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RCxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsNEJBQTRCLENBQUMsSUFBNEIsRUFBRSxXQUF3QztJQUMxRyxNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNsRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sYUFBYSxHQUFHLElBQUEsaUJBQVUsRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVELEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNFLENBQUM7QUFDSCxDQUFDO0FBU0QsU0FBZ0IsVUFBVSxDQUN4QixNQUFrQixFQUNsQixNQUF1QyxFQUN2QyxPQUFvQztJQUVwQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSwrQkFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekIsMkJBQTJCLENBQ3pCLElBQUksRUFDSixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ2hDLENBQUM7SUFDRiw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IERlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0LCBPdXRwdXQsIFdpdGhPcHREZXNjcmlwdG9yIH0gZnJvbSAnLi4vT3V0cHV0JztcblxuaW1wb3J0IHsgdG9VdHhvUHNidCwgdG9XcmFwcGVkUHNidCB9IGZyb20gJy4vd3JhcCc7XG5pbXBvcnQgeyBhc3NlcnRTYXRpc2ZpYWJsZSB9IGZyb20gJy4vYXNzZXJ0U2F0aXNmaWFibGUnO1xuXG4vKipcbiAqIE5vbi1GaW5hbCAoUmVwbGFjZWFibGUpXG4gKiBSZWZlcmVuY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vYmxvYi92MjUuMS9zcmMvcnBjL3Jhd3RyYW5zYWN0aW9uX3V0aWwuY3BwI0w0OVxuICogKi9cbmV4cG9ydCBjb25zdCBNQVhfQklQMTI1X1JCRl9TRVFVRU5DRSA9IDB4ZmZmZmZmZmYgLSAyO1xuXG5mdW5jdGlvbiB1cGRhdGVJbnB1dHNXaXRoRGVzY3JpcHRvcnMocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCwgZGVzY3JpcHRvcnM6IERlc2NyaXB0b3JbXSkge1xuICBpZiAocHNidC50eElucHV0cy5sZW5ndGggIT09IGRlc2NyaXB0b3JzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW5wdXQgY291bnQgbWlzbWF0Y2ggKHBzYnQ9JHtwc2J0LnR4SW5wdXRzLmxlbmd0aH0sIGRlc2NyaXB0b3JzPSR7ZGVzY3JpcHRvcnMubGVuZ3RofSlgKTtcbiAgfVxuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidCk7XG4gIGZvciAoY29uc3QgW2lucHV0SW5kZXgsIGRlc2NyaXB0b3JdIG9mIGRlc2NyaXB0b3JzLmVudHJpZXMoKSkge1xuICAgIGFzc2VydFNhdGlzZmlhYmxlKHBzYnQsIGlucHV0SW5kZXgsIGRlc2NyaXB0b3IpO1xuICAgIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoaW5wdXRJbmRleCwgZGVzY3JpcHRvcik7XG4gIH1cbiAgY29uc3QgdW53cmFwcGVkUHNidCA9IHRvVXR4b1BzYnQod3JhcHBlZFBzYnQsIHBzYnQubmV0d29yayk7XG4gIGZvciAoY29uc3QgaW5wdXRJbmRleCBpbiBwc2J0LnR4SW5wdXRzKSB7XG4gICAgcHNidC5kYXRhLmlucHV0c1tpbnB1dEluZGV4XSA9IHVud3JhcHBlZFBzYnQuZGF0YS5pbnB1dHNbaW5wdXRJbmRleF07XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlT3V0cHV0c1dpdGhEZXNjcmlwdG9ycyhwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0LCBkZXNjcmlwdG9yczogV2l0aE9wdERlc2NyaXB0b3I8T3V0cHV0PltdKSB7XG4gIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidChwc2J0KTtcbiAgZm9yIChjb25zdCBbb3V0cHV0SW5kZXgsIHsgZGVzY3JpcHRvciB9XSBvZiBkZXNjcmlwdG9ycy5lbnRyaWVzKCkpIHtcbiAgICBpZiAoZGVzY3JpcHRvcikge1xuICAgICAgd3JhcHBlZFBzYnQudXBkYXRlT3V0cHV0V2l0aERlc2NyaXB0b3Iob3V0cHV0SW5kZXgsIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuICBjb25zdCB1bndyYXBwZWRQc2J0ID0gdG9VdHhvUHNidCh3cmFwcGVkUHNidCwgcHNidC5uZXR3b3JrKTtcbiAgZm9yIChjb25zdCBvdXRwdXRJbmRleCBpbiBwc2J0LnR4T3V0cHV0cykge1xuICAgIHBzYnQuZGF0YS5vdXRwdXRzW291dHB1dEluZGV4XSA9IHVud3JhcHBlZFBzYnQuZGF0YS5vdXRwdXRzW291dHB1dEluZGV4XTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBQc2J0UGFyYW1zID0ge1xuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcms7XG4gIHZlcnNpb24/OiBudW1iZXI7XG4gIGxvY2t0aW1lPzogbnVtYmVyO1xuICBzZXF1ZW5jZT86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQc2J0KFxuICBwYXJhbXM6IFBzYnRQYXJhbXMsXG4gIGlucHV0czogRGVyaXZlZERlc2NyaXB0b3JXYWxsZXRPdXRwdXRbXSxcbiAgb3V0cHV0czogV2l0aE9wdERlc2NyaXB0b3I8T3V0cHV0PltdXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHtcbiAgY29uc3QgcHNidCA9IHV0eG9saWIuYml0Z28uVXR4b1BzYnQuY3JlYXRlUHNidCh7IG5ldHdvcms6IHBhcmFtcy5uZXR3b3JrIH0pO1xuICBwc2J0LnNldFZlcnNpb24ocGFyYW1zLnZlcnNpb24gPz8gMik7XG4gIHBzYnQuc2V0TG9ja3RpbWUocGFyYW1zLmxvY2t0aW1lID8/IDApO1xuICBwc2J0LmFkZElucHV0cyhpbnB1dHMubWFwKChpKSA9PiAoeyAuLi5pLCBzZXF1ZW5jZTogcGFyYW1zLnNlcXVlbmNlID8/IE1BWF9CSVAxMjVfUkJGX1NFUVVFTkNFIH0pKSk7XG4gIHBzYnQuYWRkT3V0cHV0cyhvdXRwdXRzKTtcbiAgdXBkYXRlSW5wdXRzV2l0aERlc2NyaXB0b3JzKFxuICAgIHBzYnQsXG4gICAgaW5wdXRzLm1hcCgoaSkgPT4gaS5kZXNjcmlwdG9yKVxuICApO1xuICB1cGRhdGVPdXRwdXRzV2l0aERlc2NyaXB0b3JzKHBzYnQsIG91dHB1dHMpO1xuICByZXR1cm4gcHNidDtcbn1cbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { PsbtInput, PsbtOutput } from 'bip174/src/lib/interfaces';
2
- import { Descriptor } from '@bitgo/wasm-miniscript';
3
- import { DescriptorMap } from '../DescriptorMap';
4
- type DescriptorWithIndex = {
5
- descriptor: Descriptor;
6
- index: number;
7
- };
8
- /**
9
- * @param input
10
- * @param descriptorMap
11
- * @returns DescriptorWithIndex for the input if found, undefined otherwise
12
- */
13
- export declare function findDescriptorForInput(input: PsbtInput, descriptorMap: DescriptorMap): DescriptorWithIndex | undefined;
14
- /**
15
- * @param script - the output script
16
- * @param output - the PSBT output
17
- * @param descriptorMap
18
- * @returns DescriptorWithIndex for the output if found, undefined otherwise
19
- */
20
- export declare function findDescriptorForOutput(script: Buffer, output: PsbtOutput, descriptorMap: DescriptorMap): DescriptorWithIndex | undefined;
21
- export {};
22
- //# sourceMappingURL=findDescriptors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findDescriptors.d.ts","sourceRoot":"","sources":["../../../../../src/core/descriptor/psbt/findDescriptors.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,mBAAmB,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAsErE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,aAAa,GAC3B,mBAAmB,GAAG,SAAS,CAUjC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,GAC3B,mBAAmB,GAAG,SAAS,CAMjC"}