@bitgo/utxo-bin 3.1.5 → 3.3.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 (49) hide show
  1. package/dist/bin/index.js +2 -1
  2. package/dist/src/AddressParser.d.ts.map +1 -1
  3. package/dist/src/AddressParser.js +13 -7
  4. package/dist/src/args/parseNetwork.d.ts +3 -0
  5. package/dist/src/args/parseNetwork.d.ts.map +1 -1
  6. package/dist/src/args/parseNetwork.js +43 -2
  7. package/dist/src/commands/cmdAddress/index.js +2 -2
  8. package/dist/src/commands/cmdParseTx.d.ts +1 -1
  9. package/dist/src/commands/cmdParseTx.d.ts.map +1 -1
  10. package/dist/src/commands/cmdParseTx.js +1 -1
  11. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts +13 -0
  12. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts.map +1 -0
  13. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.js +67 -0
  14. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts +11 -0
  15. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts.map +1 -0
  16. package/dist/src/commands/cmdPsbt/cmdAddOutput.js +89 -0
  17. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts +9 -0
  18. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts.map +1 -0
  19. package/dist/src/commands/cmdPsbt/cmdCreate.js +23 -0
  20. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts +11 -0
  21. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts.map +1 -0
  22. package/dist/src/commands/cmdPsbt/cmdFinalize.js +43 -0
  23. package/dist/src/commands/cmdPsbt/cmdSign.d.ts +7 -0
  24. package/dist/src/commands/cmdPsbt/cmdSign.d.ts.map +1 -0
  25. package/dist/src/commands/cmdPsbt/cmdSign.js +24 -0
  26. package/dist/src/commands/cmdPsbt/index.d.ts +8 -0
  27. package/dist/src/commands/cmdPsbt/index.d.ts.map +1 -0
  28. package/dist/src/commands/cmdPsbt/index.js +27 -0
  29. package/dist/src/commands/cmdPsbt/withPsbt.d.ts +65 -0
  30. package/dist/src/commands/cmdPsbt/withPsbt.d.ts.map +1 -0
  31. package/dist/src/commands/cmdPsbt/withPsbt.js +66 -0
  32. package/dist/src/commands/cmdPsbt/wrap.d.ts +7 -0
  33. package/dist/src/commands/cmdPsbt/wrap.d.ts.map +1 -0
  34. package/dist/src/commands/cmdPsbt/wrap.js +28 -0
  35. package/dist/src/commands/index.d.ts +1 -0
  36. package/dist/src/commands/index.d.ts.map +1 -1
  37. package/dist/src/commands/index.js +2 -1
  38. package/dist/test/cmdPsbt.d.ts +2 -0
  39. package/dist/test/cmdPsbt.d.ts.map +1 -0
  40. package/dist/test/cmdPsbt.js +102 -0
  41. package/dist/test/fixtures.d.ts +2 -2
  42. package/dist/test/fixtures.d.ts.map +1 -1
  43. package/dist/test/fixtures.js +6 -6
  44. package/dist/test/parseAddress.d.ts.map +1 -1
  45. package/dist/test/parseAddress.js +9 -6
  46. package/dist/test/parseScript.js +2 -2
  47. package/dist/test/parseTransaction.js +7 -6
  48. package/dist/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +6 -5
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdCreate = void 0;
4
+ const withPsbt_1 = require("./withPsbt");
5
+ exports.cmdCreate = {
6
+ builder(b) {
7
+ return b.options(withPsbt_1.withPsbtOptions).option('txVersion', { type: 'number' }).option('txLocktime', { type: 'number' });
8
+ },
9
+ command: 'create',
10
+ describe: 'create empty psbt without inputs or outputs',
11
+ async handler(argv) {
12
+ return (0, withPsbt_1.withPsbt)({ ...argv, create: true, expectEmpty: true }, async function (psbt) {
13
+ if (argv.txVersion !== undefined) {
14
+ psbt.setVersion(argv.txVersion);
15
+ }
16
+ if (argv.txLocktime !== undefined) {
17
+ psbt.setLocktime(argv.txLocktime);
18
+ }
19
+ return psbt;
20
+ });
21
+ },
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kQ3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NtZFBzYnQvY21kQ3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF3RTtBQU8zRCxRQUFBLFNBQVMsR0FBaUQ7SUFDckUsT0FBTyxDQUFDLENBQXNCO1FBQzVCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBQ0QsT0FBTyxFQUFFLFFBQVE7SUFDakIsUUFBUSxFQUFFLDZDQUE2QztJQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDaEIsT0FBTyxJQUFBLG1CQUFRLEVBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLFdBQVcsSUFBSTtZQUNoRixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNqQztZQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25DO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgd2l0aFBzYnQsIHdpdGhQc2J0T3B0aW9ucywgV2l0aFBzYnRPcHRpb25zIH0gZnJvbSAnLi93aXRoUHNidCc7XG5cbnR5cGUgQXJnc0NyZWF0ZVBzYnQgPSBXaXRoUHNidE9wdGlvbnMgJiB7XG4gIHR4VmVyc2lvbj86IG51bWJlcjtcbiAgdHhMb2NrdGltZT86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjbWRDcmVhdGU6IHlhcmdzLkNvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0NyZWF0ZVBzYnQ+ID0ge1xuICBidWlsZGVyKGI6IHlhcmdzLkFyZ3Y8dW5rbm93bj4pIHtcbiAgICByZXR1cm4gYi5vcHRpb25zKHdpdGhQc2J0T3B0aW9ucykub3B0aW9uKCd0eFZlcnNpb24nLCB7IHR5cGU6ICdudW1iZXInIH0pLm9wdGlvbigndHhMb2NrdGltZScsIHsgdHlwZTogJ251bWJlcicgfSk7XG4gIH0sXG4gIGNvbW1hbmQ6ICdjcmVhdGUnLFxuICBkZXNjcmliZTogJ2NyZWF0ZSBlbXB0eSBwc2J0IHdpdGhvdXQgaW5wdXRzIG9yIG91dHB1dHMnLFxuICBhc3luYyBoYW5kbGVyKGFyZ3YpIHtcbiAgICByZXR1cm4gd2l0aFBzYnQoeyAuLi5hcmd2LCBjcmVhdGU6IHRydWUsIGV4cGVjdEVtcHR5OiB0cnVlIH0sIGFzeW5jIGZ1bmN0aW9uIChwc2J0KSB7XG4gICAgICBpZiAoYXJndi50eFZlcnNpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwc2J0LnNldFZlcnNpb24oYXJndi50eFZlcnNpb24pO1xuICAgICAgfVxuICAgICAgaWYgKGFyZ3YudHhMb2NrdGltZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBzYnQuc2V0TG9ja3RpbWUoYXJndi50eExvY2t0aW1lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwc2J0O1xuICAgIH0pO1xuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { CommandModule } from 'yargs';
2
+ import { WithPsbtOptions } from './withPsbt';
3
+ import * as utxolib from '@bitgo/utxo-lib';
4
+ type ArgsFinalizePsbt = WithPsbtOptions & {
5
+ extract: boolean;
6
+ };
7
+ export declare function finalizeWithWrappedPsbt(psbt: utxolib.bitgo.UtxoPsbt | utxolib.Psbt): void;
8
+ export declare const cmdFinalize: CommandModule<unknown, ArgsFinalizePsbt>;
9
+ export declare const cmdExtract: CommandModule<unknown, WithPsbtOptions>;
10
+ export {};
11
+ //# sourceMappingURL=cmdFinalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdFinalize.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/cmdFinalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAY,eAAe,EAAmB,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,KAAK,gBAAgB,GAAG,eAAe,GAAG;IACxC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAOzF;AAED,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAehE,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,eAAe,CAW9D,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdExtract = exports.cmdFinalize = exports.finalizeWithWrappedPsbt = void 0;
4
+ const withPsbt_1 = require("./withPsbt");
5
+ const wrap_1 = require("./wrap");
6
+ function finalizeWithWrappedPsbt(psbt) {
7
+ const wrappedPsbt = (0, wrap_1.toWrappedPsbt)(psbt);
8
+ wrappedPsbt.finalize();
9
+ const unwrappedPsbt = (0, wrap_1.toUtxoPsbt)(wrappedPsbt);
10
+ for (let i = 0; i < psbt.data.inputs.length; i++) {
11
+ psbt.data.inputs[i] = unwrappedPsbt.data.inputs[i];
12
+ }
13
+ }
14
+ exports.finalizeWithWrappedPsbt = finalizeWithWrappedPsbt;
15
+ exports.cmdFinalize = {
16
+ command: 'finalize [psbt]',
17
+ describe: 'finalize psbt',
18
+ builder(b) {
19
+ return b.options(withPsbt_1.withPsbtOptions).option('extract', { type: 'boolean', default: false });
20
+ },
21
+ async handler(argv) {
22
+ await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
23
+ finalizeWithWrappedPsbt(psbt);
24
+ if (argv.extract) {
25
+ return psbt.extractTransaction().toBuffer();
26
+ }
27
+ return psbt;
28
+ });
29
+ },
30
+ };
31
+ exports.cmdExtract = {
32
+ command: 'extract [psbt]',
33
+ describe: 'extract transaction from psbt',
34
+ builder(b) {
35
+ return b.options(withPsbt_1.withPsbtOptions);
36
+ },
37
+ async handler(argv) {
38
+ await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
39
+ return psbt.extractTransaction().toBuffer();
40
+ });
41
+ },
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kRmluYWxpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUHNidC9jbWRGaW5hbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBd0U7QUFFeEUsaUNBQW1EO0FBTW5ELFNBQWdCLHVCQUF1QixDQUFDLElBQTJDO0lBQ2pGLE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkIsTUFBTSxhQUFhLEdBQUcsSUFBQSxpQkFBVSxFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDcEQ7QUFDSCxDQUFDO0FBUEQsMERBT0M7QUFFWSxRQUFBLFdBQVcsR0FBNkM7SUFDbkUsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLEVBQUUsZUFBZTtJQUN6QixPQUFPLENBQUMsQ0FBZ0I7UUFDdEIsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLDBCQUFlLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ2hCLE1BQU0sSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSxLQUFLLFdBQVcsSUFBSTtZQUN2Qyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDN0M7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUM7QUFFVyxRQUFBLFVBQVUsR0FBNEM7SUFDakUsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixRQUFRLEVBQUUsK0JBQStCO0lBQ3pDLE9BQU8sQ0FBQyxDQUFnQjtRQUN0QixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQWUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDaEIsTUFBTSxJQUFBLG1CQUFRLEVBQUMsSUFBSSxFQUFFLEtBQUssV0FBVyxJQUFJO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyZ3YsIENvbW1hbmRNb2R1bGUgfSBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyB3aXRoUHNidCwgV2l0aFBzYnRPcHRpb25zLCB3aXRoUHNidE9wdGlvbnMgfSBmcm9tICcuL3dpdGhQc2J0JztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IHRvVXR4b1BzYnQsIHRvV3JhcHBlZFBzYnQgfSBmcm9tICcuL3dyYXAnO1xuXG50eXBlIEFyZ3NGaW5hbGl6ZVBzYnQgPSBXaXRoUHNidE9wdGlvbnMgJiB7XG4gIGV4dHJhY3Q6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmluYWxpemVXaXRoV3JhcHBlZFBzYnQocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IHV0eG9saWIuUHNidCk6IHZvaWQge1xuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidCk7XG4gIHdyYXBwZWRQc2J0LmZpbmFsaXplKCk7XG4gIGNvbnN0IHVud3JhcHBlZFBzYnQgPSB0b1V0eG9Qc2J0KHdyYXBwZWRQc2J0KTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwc2J0LmRhdGEuaW5wdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgcHNidC5kYXRhLmlucHV0c1tpXSA9IHVud3JhcHBlZFBzYnQuZGF0YS5pbnB1dHNbaV07XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGNtZEZpbmFsaXplOiBDb21tYW5kTW9kdWxlPHVua25vd24sIEFyZ3NGaW5hbGl6ZVBzYnQ+ID0ge1xuICBjb21tYW5kOiAnZmluYWxpemUgW3BzYnRdJyxcbiAgZGVzY3JpYmU6ICdmaW5hbGl6ZSBwc2J0JyxcbiAgYnVpbGRlcihiOiBBcmd2PHVua25vd24+KTogQXJndjxBcmdzRmluYWxpemVQc2J0PiB7XG4gICAgcmV0dXJuIGIub3B0aW9ucyh3aXRoUHNidE9wdGlvbnMpLm9wdGlvbignZXh0cmFjdCcsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KTtcbiAgfSxcbiAgYXN5bmMgaGFuZGxlcihhcmd2KSB7XG4gICAgYXdhaXQgd2l0aFBzYnQoYXJndiwgYXN5bmMgZnVuY3Rpb24gKHBzYnQpIHtcbiAgICAgIGZpbmFsaXplV2l0aFdyYXBwZWRQc2J0KHBzYnQpO1xuICAgICAgaWYgKGFyZ3YuZXh0cmFjdCkge1xuICAgICAgICByZXR1cm4gcHNidC5leHRyYWN0VHJhbnNhY3Rpb24oKS50b0J1ZmZlcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBzYnQ7XG4gICAgfSk7XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgY21kRXh0cmFjdDogQ29tbWFuZE1vZHVsZTx1bmtub3duLCBXaXRoUHNidE9wdGlvbnM+ID0ge1xuICBjb21tYW5kOiAnZXh0cmFjdCBbcHNidF0nLFxuICBkZXNjcmliZTogJ2V4dHJhY3QgdHJhbnNhY3Rpb24gZnJvbSBwc2J0JyxcbiAgYnVpbGRlcihiOiBBcmd2PHVua25vd24+KTogQXJndjxXaXRoUHNidE9wdGlvbnM+IHtcbiAgICByZXR1cm4gYi5vcHRpb25zKHdpdGhQc2J0T3B0aW9ucyk7XG4gIH0sXG4gIGFzeW5jIGhhbmRsZXIoYXJndikge1xuICAgIGF3YWl0IHdpdGhQc2J0KGFyZ3YsIGFzeW5jIGZ1bmN0aW9uIChwc2J0KSB7XG4gICAgICByZXR1cm4gcHNidC5leHRyYWN0VHJhbnNhY3Rpb24oKS50b0J1ZmZlcigpO1xuICAgIH0pO1xuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { CommandModule } from 'yargs';
2
+ import { WithPsbtOptions } from './withPsbt';
3
+ export type ArgsSignPsbt = WithPsbtOptions & {
4
+ key: string;
5
+ };
6
+ export declare const cmdSign: CommandModule<unknown, ArgsSignPsbt>;
7
+ //# sourceMappingURL=cmdSign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdSign.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/cmdSign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAY,eAAe,EAAmB,MAAM,YAAY,CAAC;AAGxE,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,YAAY,CAgBxD,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdSign = void 0;
4
+ const utxolib = require("@bitgo/utxo-lib");
5
+ const withPsbt_1 = require("./withPsbt");
6
+ const args_1 = require("../../args");
7
+ exports.cmdSign = {
8
+ command: 'sign [psbt]',
9
+ describe: 'sign psbt',
10
+ builder(b) {
11
+ return b
12
+ .options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
13
+ .options(withPsbt_1.withPsbtOptions)
14
+ .option('key', { type: 'string', demandOption: true });
15
+ },
16
+ async handler(argv) {
17
+ const key = utxolib.bip32.fromBase58(argv.key, argv.network);
18
+ await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
19
+ psbt.signAllInputsHD(key);
20
+ return psbt;
21
+ });
22
+ },
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kU2lnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbWRQc2J0L2NtZFNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQTJDO0FBRTNDLHlDQUF3RTtBQUN4RSxxQ0FBcUQ7QUFNeEMsUUFBQSxPQUFPLEdBQXlDO0lBQzNELE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLE9BQU8sQ0FBQyxDQUFnQjtRQUN0QixPQUFPLENBQUM7YUFDTCxPQUFPLENBQUMsSUFBQSw4QkFBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQzthQUMzQyxPQUFPLENBQUMsMEJBQWUsQ0FBQzthQUN4QixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE1BQU0sSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSxLQUFLLFdBQVcsSUFBSTtZQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyZ3YsIENvbW1hbmRNb2R1bGUgfSBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IHdpdGhQc2J0LCBXaXRoUHNidE9wdGlvbnMsIHdpdGhQc2J0T3B0aW9ucyB9IGZyb20gJy4vd2l0aFBzYnQnO1xuaW1wb3J0IHsgZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQgfSBmcm9tICcuLi8uLi9hcmdzJztcblxuZXhwb3J0IHR5cGUgQXJnc1NpZ25Qc2J0ID0gV2l0aFBzYnRPcHRpb25zICYge1xuICBrZXk6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBjbWRTaWduOiBDb21tYW5kTW9kdWxlPHVua25vd24sIEFyZ3NTaWduUHNidD4gPSB7XG4gIGNvbW1hbmQ6ICdzaWduIFtwc2J0XScsXG4gIGRlc2NyaWJlOiAnc2lnbiBwc2J0JyxcbiAgYnVpbGRlcihiOiBBcmd2PHVua25vd24+KTogQXJndjxBcmdzU2lnblBzYnQ+IHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMoZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoJ2JpdGNvaW4nKSlcbiAgICAgIC5vcHRpb25zKHdpdGhQc2J0T3B0aW9ucylcbiAgICAgIC5vcHRpb24oJ2tleScsIHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9KTtcbiAgfSxcbiAgYXN5bmMgaGFuZGxlcihhcmd2KSB7XG4gICAgY29uc3Qga2V5ID0gdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KGFyZ3Yua2V5LCBhcmd2Lm5ldHdvcmspO1xuICAgIGF3YWl0IHdpdGhQc2J0KGFyZ3YsIGFzeW5jIGZ1bmN0aW9uIChwc2J0KSB7XG4gICAgICBwc2J0LnNpZ25BbGxJbnB1dHNIRChrZXkpO1xuICAgICAgcmV0dXJuIHBzYnQ7XG4gICAgfSk7XG4gIH0sXG59O1xuIl19
@@ -0,0 +1,8 @@
1
+ import { Argv } from 'yargs';
2
+ export declare const cmdPsbt: {
3
+ command: string;
4
+ describe: string;
5
+ builder(b: Argv<unknown>): Argv<unknown>;
6
+ handler(): void;
7
+ };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,OAAO,CAAC;AAQ5C,eAAO,MAAM,OAAO;;;eAGP,KAAK,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC;eAW7B,IAAI;CAG0B,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdPsbt = void 0;
4
+ const cmdSign_1 = require("./cmdSign");
5
+ const cmdAddOutput_1 = require("./cmdAddOutput");
6
+ const cmdAddDescriptorInput_1 = require("./cmdAddDescriptorInput");
7
+ const cmdFinalize_1 = require("./cmdFinalize");
8
+ const cmdCreate_1 = require("./cmdCreate");
9
+ exports.cmdPsbt = {
10
+ command: 'psbt <command>',
11
+ describe: 'psbt commands',
12
+ builder(b) {
13
+ return b
14
+ .strict()
15
+ .command(cmdCreate_1.cmdCreate)
16
+ .command(cmdAddDescriptorInput_1.cmdAddDescriptorInput)
17
+ .command(cmdAddOutput_1.cmdAddOutput)
18
+ .command(cmdSign_1.cmdSign)
19
+ .command(cmdFinalize_1.cmdFinalize)
20
+ .command(cmdFinalize_1.cmdExtract)
21
+ .demandCommand();
22
+ },
23
+ handler() {
24
+ // do nothing
25
+ },
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUHNidC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1Q0FBb0M7QUFDcEMsaURBQThDO0FBQzlDLG1FQUFnRTtBQUNoRSwrQ0FBd0Q7QUFDeEQsMkNBQXdDO0FBRTNCLFFBQUEsT0FBTyxHQUFHO0lBQ3JCLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsUUFBUSxFQUFFLGVBQWU7SUFDekIsT0FBTyxDQUFDLENBQWdCO1FBQ3RCLE9BQU8sQ0FBQzthQUNMLE1BQU0sRUFBRTthQUNSLE9BQU8sQ0FBQyxxQkFBUyxDQUFDO2FBQ2xCLE9BQU8sQ0FBQyw2Q0FBcUIsQ0FBQzthQUM5QixPQUFPLENBQUMsMkJBQVksQ0FBQzthQUNyQixPQUFPLENBQUMsaUJBQU8sQ0FBQzthQUNoQixPQUFPLENBQUMseUJBQVcsQ0FBQzthQUNwQixPQUFPLENBQUMsd0JBQVUsQ0FBQzthQUNuQixhQUFhLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTztRQUNMLGFBQWE7SUFDZixDQUFDO0NBQ3dDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmd2LCBDb21tYW5kTW9kdWxlIH0gZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBjbWRTaWduIH0gZnJvbSAnLi9jbWRTaWduJztcbmltcG9ydCB7IGNtZEFkZE91dHB1dCB9IGZyb20gJy4vY21kQWRkT3V0cHV0JztcbmltcG9ydCB7IGNtZEFkZERlc2NyaXB0b3JJbnB1dCB9IGZyb20gJy4vY21kQWRkRGVzY3JpcHRvcklucHV0JztcbmltcG9ydCB7IGNtZEV4dHJhY3QsIGNtZEZpbmFsaXplIH0gZnJvbSAnLi9jbWRGaW5hbGl6ZSc7XG5pbXBvcnQgeyBjbWRDcmVhdGUgfSBmcm9tICcuL2NtZENyZWF0ZSc7XG5cbmV4cG9ydCBjb25zdCBjbWRQc2J0ID0ge1xuICBjb21tYW5kOiAncHNidCA8Y29tbWFuZD4nLFxuICBkZXNjcmliZTogJ3BzYnQgY29tbWFuZHMnLFxuICBidWlsZGVyKGI6IEFyZ3Y8dW5rbm93bj4pOiBBcmd2PHVua25vd24+IHtcbiAgICByZXR1cm4gYlxuICAgICAgLnN0cmljdCgpXG4gICAgICAuY29tbWFuZChjbWRDcmVhdGUpXG4gICAgICAuY29tbWFuZChjbWRBZGREZXNjcmlwdG9ySW5wdXQpXG4gICAgICAuY29tbWFuZChjbWRBZGRPdXRwdXQpXG4gICAgICAuY29tbWFuZChjbWRTaWduKVxuICAgICAgLmNvbW1hbmQoY21kRmluYWxpemUpXG4gICAgICAuY29tbWFuZChjbWRFeHRyYWN0KVxuICAgICAgLmRlbWFuZENvbW1hbmQoKTtcbiAgfSxcbiAgaGFuZGxlcigpOiB2b2lkIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH0sXG59IHNhdGlzZmllcyBDb21tYW5kTW9kdWxlPHVua25vd24sIHVua25vd24+O1xuIl19
@@ -0,0 +1,65 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import * as utxolib from '@bitgo/utxo-lib';
4
+ import { Buffer } from 'buffer';
5
+ type InputArgs = {
6
+ /** path to psbt file */
7
+ path?: string;
8
+ /** when set, create a new psbt */
9
+ create?: boolean;
10
+ /** network */
11
+ network: utxolib.Network;
12
+ /** expect empty psbt */
13
+ expectEmpty?: boolean;
14
+ };
15
+ type OutputArgs = {
16
+ /** edit the input file */
17
+ edit: boolean;
18
+ /** output path */
19
+ out?: string;
20
+ };
21
+ export type WithPsbtOptions = InputArgs & OutputArgs;
22
+ export declare const withPsbtOptions: {
23
+ readonly create: {
24
+ readonly type: "boolean";
25
+ readonly default: false;
26
+ };
27
+ readonly edit: {
28
+ readonly type: "boolean";
29
+ readonly default: false;
30
+ };
31
+ readonly out: {
32
+ readonly type: "string";
33
+ };
34
+ readonly network: {
35
+ type: "string";
36
+ description: string;
37
+ default: string | undefined;
38
+ coerce: (arg: string) => utxolib.Network;
39
+ } & {
40
+ demandOption: true;
41
+ };
42
+ readonly path: {
43
+ readonly type: "string";
44
+ readonly nargs: 1;
45
+ readonly default: "";
46
+ };
47
+ readonly stdin: {
48
+ readonly type: "boolean";
49
+ readonly default: false;
50
+ };
51
+ readonly data: {
52
+ readonly type: "string";
53
+ readonly description: "hex or base64";
54
+ readonly alias: "hex";
55
+ };
56
+ readonly clipboard: {
57
+ readonly type: "boolean";
58
+ readonly default: false;
59
+ };
60
+ };
61
+ export declare function getOrCreatePsbt(args: InputArgs): Promise<utxolib.Psbt>;
62
+ export declare function emitOutput(value: utxolib.Psbt | Buffer | string, args: InputArgs & OutputArgs): Promise<void>;
63
+ export declare function withPsbt(args: InputArgs & OutputArgs, fn: (psbt: utxolib.Psbt) => Promise<utxolib.Psbt | Buffer>): Promise<void>;
64
+ export {};
65
+ //# sourceMappingURL=withPsbt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withPsbt.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/withPsbt.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,KAAK,SAAS,GAAG;IACf,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc;IACd,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,wBAAwB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AACF,KAAK,UAAU,GAAG;IAChB,0BAA0B;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlB,CAAC;AAEX,wBAAsB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAqB5E;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnH;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,GAAG,UAAU,EAC5B,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withPsbt = exports.emitOutput = exports.getOrCreatePsbt = exports.withPsbtOptions = void 0;
4
+ const fs = require("fs/promises");
5
+ const utxolib = require("@bitgo/utxo-lib");
6
+ const args_1 = require("../../args");
7
+ const buffer_1 = require("buffer");
8
+ exports.withPsbtOptions = {
9
+ ...args_1.readStringOptions,
10
+ ...(0, args_1.getNetworkOptionsDemand)('bitcoin'),
11
+ create: { type: 'boolean', default: false },
12
+ edit: { type: 'boolean', default: false },
13
+ out: { type: 'string' },
14
+ };
15
+ async function getOrCreatePsbt(args) {
16
+ let psbt;
17
+ try {
18
+ psbt = await (0, args_1.argToString)({ path: args.path, stdin: false });
19
+ }
20
+ catch (e) {
21
+ // check for ENOENT
22
+ if (e.code !== 'ENOENT') {
23
+ throw e;
24
+ }
25
+ }
26
+ if (psbt) {
27
+ if (args.expectEmpty) {
28
+ throw new Error(`psbt is not empty (path=${args.path})`);
29
+ }
30
+ const buffer = utxolib.bitgo.toPsbtBuffer(psbt);
31
+ return utxolib.Psbt.fromBuffer(buffer, { network: args.network });
32
+ }
33
+ if (args.create) {
34
+ return new utxolib.Psbt({ network: args.network });
35
+ }
36
+ throw new Error(`missing psbt (path=${args.path})`);
37
+ }
38
+ exports.getOrCreatePsbt = getOrCreatePsbt;
39
+ async function emitOutput(value, args) {
40
+ if (value instanceof utxolib.Psbt) {
41
+ value = value.toBase64();
42
+ }
43
+ if (value instanceof buffer_1.Buffer) {
44
+ value = value.toString('hex');
45
+ }
46
+ if (args.edit || args.out) {
47
+ if (args.edit && args.out) {
48
+ throw new Error('cannot specify both edit and out');
49
+ }
50
+ const path = args.edit ? args.path : args.out;
51
+ if (!path) {
52
+ throw new Error('missing out path');
53
+ }
54
+ await fs.writeFile(path, value);
55
+ }
56
+ else {
57
+ console.log(value);
58
+ }
59
+ }
60
+ exports.emitOutput = emitOutput;
61
+ async function withPsbt(args, fn) {
62
+ const psbt = await getOrCreatePsbt(args);
63
+ await emitOutput(await fn(psbt), args);
64
+ }
65
+ exports.withPsbt = withPsbt;
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUHNidC93aXRoUHNidC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrQ0FBa0M7QUFDbEMsMkNBQTJDO0FBRTNDLHFDQUFxRjtBQUNyRixtQ0FBZ0M7QUFvQm5CLFFBQUEsZUFBZSxHQUFHO0lBQzdCLEdBQUcsd0JBQWlCO0lBQ3BCLEdBQUcsSUFBQSw4QkFBdUIsRUFBQyxTQUFTLENBQUM7SUFDckMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0lBQzNDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtJQUN6QyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0NBQ2YsQ0FBQztBQUVKLEtBQUssVUFBVSxlQUFlLENBQUMsSUFBZTtJQUNuRCxJQUFJLElBQXdCLENBQUM7SUFDN0IsSUFBSTtRQUNGLElBQUksR0FBRyxNQUFNLElBQUEsa0JBQVcsRUFBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQzdEO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixtQkFBbUI7UUFDbkIsSUFBSyxDQUEyQixDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDbEQsTUFBTSxDQUFDLENBQUM7U0FDVDtLQUNGO0lBQ0QsSUFBSSxJQUFJLEVBQUU7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNuRTtJQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNmLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQXJCRCwwQ0FxQkM7QUFFTSxLQUFLLFVBQVUsVUFBVSxDQUFDLEtBQXFDLEVBQUUsSUFBNEI7SUFDbEcsSUFBSSxLQUFLLFlBQVksT0FBTyxDQUFDLElBQUksRUFBRTtRQUNqQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzFCO0lBRUQsSUFBSSxLQUFLLFlBQVksZUFBTSxFQUFFO1FBQzNCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQy9CO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNqQztTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNwQjtBQUNILENBQUM7QUFyQkQsZ0NBcUJDO0FBRU0sS0FBSyxVQUFVLFFBQVEsQ0FDNUIsSUFBNEIsRUFDNUIsRUFBMEQ7SUFFMUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQU5ELDRCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBhcmdUb1N0cmluZywgZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQsIHJlYWRTdHJpbmdPcHRpb25zIH0gZnJvbSAnLi4vLi4vYXJncyc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuXG50eXBlIElucHV0QXJncyA9IHtcbiAgLyoqIHBhdGggdG8gcHNidCBmaWxlICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKiB3aGVuIHNldCwgY3JlYXRlIGEgbmV3IHBzYnQgKi9cbiAgY3JlYXRlPzogYm9vbGVhbjtcbiAgLyoqIG5ldHdvcmsgKi9cbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICAvKiogZXhwZWN0IGVtcHR5IHBzYnQgKi9cbiAgZXhwZWN0RW1wdHk/OiBib29sZWFuO1xufTtcbnR5cGUgT3V0cHV0QXJncyA9IHtcbiAgLyoqIGVkaXQgdGhlIGlucHV0IGZpbGUgKi9cbiAgZWRpdDogYm9vbGVhbjtcbiAgLyoqIG91dHB1dCBwYXRoICovXG4gIG91dD86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBXaXRoUHNidE9wdGlvbnMgPSBJbnB1dEFyZ3MgJiBPdXRwdXRBcmdzO1xuXG5leHBvcnQgY29uc3Qgd2l0aFBzYnRPcHRpb25zID0ge1xuICAuLi5yZWFkU3RyaW5nT3B0aW9ucyxcbiAgLi4uZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoJ2JpdGNvaW4nKSxcbiAgY3JlYXRlOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgZWRpdDogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gIG91dDogeyB0eXBlOiAnc3RyaW5nJyB9LFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9yQ3JlYXRlUHNidChhcmdzOiBJbnB1dEFyZ3MpOiBQcm9taXNlPHV0eG9saWIuUHNidD4ge1xuICBsZXQgcHNidDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0cnkge1xuICAgIHBzYnQgPSBhd2FpdCBhcmdUb1N0cmluZyh7IHBhdGg6IGFyZ3MucGF0aCwgc3RkaW46IGZhbHNlIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gY2hlY2sgZm9yIEVOT0VOVFxuICAgIGlmICgoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgIT09ICdFTk9FTlQnKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuICBpZiAocHNidCkge1xuICAgIGlmIChhcmdzLmV4cGVjdEVtcHR5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHBzYnQgaXMgbm90IGVtcHR5IChwYXRoPSR7YXJncy5wYXRofSlgKTtcbiAgICB9XG4gICAgY29uc3QgYnVmZmVyID0gdXR4b2xpYi5iaXRnby50b1BzYnRCdWZmZXIocHNidCk7XG4gICAgcmV0dXJuIHV0eG9saWIuUHNidC5mcm9tQnVmZmVyKGJ1ZmZlciwgeyBuZXR3b3JrOiBhcmdzLm5ldHdvcmsgfSk7XG4gIH1cbiAgaWYgKGFyZ3MuY3JlYXRlKSB7XG4gICAgcmV0dXJuIG5ldyB1dHhvbGliLlBzYnQoeyBuZXR3b3JrOiBhcmdzLm5ldHdvcmsgfSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBtaXNzaW5nIHBzYnQgKHBhdGg9JHthcmdzLnBhdGh9KWApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW1pdE91dHB1dCh2YWx1ZTogdXR4b2xpYi5Qc2J0IHwgQnVmZmVyIHwgc3RyaW5nLCBhcmdzOiBJbnB1dEFyZ3MgJiBPdXRwdXRBcmdzKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIHV0eG9saWIuUHNidCkge1xuICAgIHZhbHVlID0gdmFsdWUudG9CYXNlNjQoKTtcbiAgfVxuXG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgaWYgKGFyZ3MuZWRpdCB8fCBhcmdzLm91dCkge1xuICAgIGlmIChhcmdzLmVkaXQgJiYgYXJncy5vdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2Fubm90IHNwZWNpZnkgYm90aCBlZGl0IGFuZCBvdXQnKTtcbiAgICB9XG4gICAgY29uc3QgcGF0aCA9IGFyZ3MuZWRpdCA/IGFyZ3MucGF0aCA6IGFyZ3Mub3V0O1xuICAgIGlmICghcGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIG91dCBwYXRoJyk7XG4gICAgfVxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLCB2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2codmFsdWUpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoUHNidChcbiAgYXJnczogSW5wdXRBcmdzICYgT3V0cHV0QXJncyxcbiAgZm46IChwc2J0OiB1dHhvbGliLlBzYnQpID0+IFByb21pc2U8dXR4b2xpYi5Qc2J0IHwgQnVmZmVyPlxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBzYnQgPSBhd2FpdCBnZXRPckNyZWF0ZVBzYnQoYXJncyk7XG4gIGF3YWl0IGVtaXRPdXRwdXQoYXdhaXQgZm4ocHNidCksIGFyZ3MpO1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import * as utxolib from '@bitgo/utxo-lib';
4
+ import { Psbt } from '@bitgo/wasm-miniscript';
5
+ export declare function toWrappedPsbt(psbt: utxolib.bitgo.UtxoPsbt | utxolib.Psbt | Buffer | Uint8Array): Psbt;
6
+ export declare function toUtxoPsbt(psbt: Psbt | Buffer | Uint8Array): utxolib.bitgo.UtxoPsbt;
7
+ //# sourceMappingURL=wrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/wrap.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAQrG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAUnF"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toUtxoPsbt = exports.toWrappedPsbt = void 0;
4
+ const utxolib = require("@bitgo/utxo-lib");
5
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
6
+ function toWrappedPsbt(psbt) {
7
+ if (psbt instanceof utxolib.bitgo.UtxoPsbt || psbt instanceof utxolib.Psbt) {
8
+ psbt = psbt.toBuffer();
9
+ }
10
+ if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
11
+ return wasm_miniscript_1.Psbt.deserialize(psbt);
12
+ }
13
+ throw new Error('Invalid input');
14
+ }
15
+ exports.toWrappedPsbt = toWrappedPsbt;
16
+ function toUtxoPsbt(psbt) {
17
+ if (psbt instanceof wasm_miniscript_1.Psbt) {
18
+ psbt = psbt.serialize();
19
+ }
20
+ if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
21
+ return utxolib.bitgo.UtxoPsbt.fromBuffer(Buffer.from(psbt), {
22
+ network: utxolib.networks.bitcoin,
23
+ });
24
+ }
25
+ throw new Error('Invalid input');
26
+ }
27
+ exports.toUtxoPsbt = toUtxoPsbt;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbWRQc2J0L3dyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTJDO0FBQzNDLDREQUE4QztBQUU5QyxTQUFnQixhQUFhLENBQUMsSUFBaUU7SUFDN0YsSUFBSSxJQUFJLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxZQUFZLE9BQU8sQ0FBQyxJQUFJLEVBQUU7UUFDMUUsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztLQUN4QjtJQUNELElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFO1FBQ3hELE9BQU8sc0JBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDL0I7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFSRCxzQ0FRQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxJQUFnQztJQUN6RCxJQUFJLElBQUksWUFBWSxzQkFBSSxFQUFFO1FBQ3hCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7S0FDekI7SUFDRCxJQUFJLElBQUksWUFBWSxNQUFNLElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRTtRQUN4RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFELE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87U0FDbEMsQ0FBQyxDQUFDO0tBQ0o7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFWRCxnQ0FVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuZXhwb3J0IGZ1bmN0aW9uIHRvV3JhcHBlZFBzYnQocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IHV0eG9saWIuUHNidCB8IEJ1ZmZlciB8IFVpbnQ4QXJyYXkpOiBQc2J0IHtcbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHx8IHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLlBzYnQpIHtcbiAgICBwc2J0ID0gcHNidC50b0J1ZmZlcigpO1xuICB9XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgQnVmZmVyIHx8IHBzYnQgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIFBzYnQuZGVzZXJpYWxpemUocHNidCk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlucHV0Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0eG9Qc2J0KHBzYnQ6IFBzYnQgfCBCdWZmZXIgfCBVaW50OEFycmF5KTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgUHNidCkge1xuICAgIHBzYnQgPSBwc2J0LnNlcmlhbGl6ZSgpO1xuICB9XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgQnVmZmVyIHx8IHBzYnQgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIHV0eG9saWIuYml0Z28uVXR4b1BzYnQuZnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShwc2J0KSwge1xuICAgICAgbmV0d29yazogdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luLFxuICAgIH0pO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dCcpO1xufVxuIl19
@@ -2,4 +2,5 @@ export * from './cmdParseTx';
2
2
  export * from './cmdAddress';
3
3
  export * from './cmdParseScript';
4
4
  export * from './cmdBip32';
5
+ export * from './cmdPsbt';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -18,4 +18,5 @@ __exportStar(require("./cmdParseTx"), exports);
18
18
  __exportStar(require("./cmdAddress"), exports);
19
19
  __exportStar(require("./cmdParseScript"), exports);
20
20
  __exportStar(require("./cmdBip32"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QiwrQ0FBNkI7QUFDN0IsbURBQWlDO0FBQ2pDLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY21kUGFyc2VUeCc7XG5leHBvcnQgKiBmcm9tICcuL2NtZEFkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9jbWRQYXJzZVNjcmlwdCc7XG5leHBvcnQgKiBmcm9tICcuL2NtZEJpcDMyJztcbiJdfQ==
21
+ __exportStar(require("./cmdPsbt"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QiwrQ0FBNkI7QUFDN0IsbURBQWlDO0FBQ2pDLDZDQUEyQjtBQUMzQiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NtZFBhcnNlVHgnO1xuZXhwb3J0ICogZnJvbSAnLi9jbWRBZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vY21kUGFyc2VTY3JpcHQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbWRCaXAzMic7XG5leHBvcnQgKiBmcm9tICcuL2NtZFBzYnQnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cmdPsbt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdPsbt.d.ts","sourceRoot":"","sources":["../../test/cmdPsbt.ts"],"names":[],"mappings":""}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const fs = require("fs/promises");
5
+ const yargs = require("yargs");
6
+ const utxolib = require("@bitgo/utxo-lib");
7
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
8
+ const commands_1 = require("../src/commands");
9
+ const fixtures_1 = require("./fixtures");
10
+ const bip32_util_1 = require("./bip32.util");
11
+ const TxParser_1 = require("../src/TxParser");
12
+ async function runPsbtCommand(args) {
13
+ return commands_1.cmdPsbt.builder(yargs([])).strict().exitProcess(false).parse(args);
14
+ }
15
+ async function assertEqualFixture(path, fixture, network = utxolib.networks.bitcoin) {
16
+ const actual = await fs.readFile(path, 'utf8');
17
+ const expected = await (0, fixtures_1.getFixtureString)(`test/fixtures/psbt/${fixture}`, actual);
18
+ assert.strictEqual(actual, expected);
19
+ const tx = path.endsWith('.psbt')
20
+ ? utxolib.bitgo.createPsbtDecode(actual, network)
21
+ : utxolib.bitgo.createTransactionFromBuffer(Buffer.from(actual, 'hex'), network, { amountType: 'bigint' });
22
+ const parsed = new TxParser_1.TxParser(TxParser_1.TxParser.PARSE_ALL).parse(tx);
23
+ const format = (0, fixtures_1.formatTreeNoColor)(parsed, { showAll: true });
24
+ assert.strictEqual(format, await (0, fixtures_1.getFixtureString)(`test/fixtures/psbt/${fixture}.txt`, format));
25
+ }
26
+ function multi(n, xpubs, path) {
27
+ return 'multi(' + n + ',' + xpubs.map((xpub) => xpub + path).join(',') + ')';
28
+ }
29
+ function getAddressFromDescriptor(descriptor, network) {
30
+ return utxolib.address.fromOutputScript(Buffer.from(descriptor.scriptPubkey()), network);
31
+ }
32
+ describe('cmdPsbt commands', function () {
33
+ const keys = (0, bip32_util_1.getKeyTriple)('cmdPsbt');
34
+ const xpubs = keys.map((k) => k.neutered().toBase58());
35
+ const descriptorString = `wsh(${multi(2, xpubs, '/*')})`;
36
+ const descriptor = wasm_miniscript_1.Descriptor.fromString(descriptorString, 'derivable');
37
+ it('creates empty psbt', async function () {
38
+ await fs.rm('/tmp/test.psbt', { force: true });
39
+ await runPsbtCommand(['create', '--path', '/tmp/test.psbt', '--edit']);
40
+ await assertEqualFixture('/tmp/test.psbt', '1.empty.psbt');
41
+ });
42
+ it('adds descriptor input', async function () {
43
+ const outputId = Buffer.alloc(32).fill(1).toString('hex') + ':0';
44
+ await runPsbtCommand([
45
+ 'addDescriptorInput',
46
+ '--path',
47
+ '/tmp/test.psbt',
48
+ '--edit',
49
+ '--outputId',
50
+ outputId,
51
+ '--value',
52
+ '1000000',
53
+ '--descriptor',
54
+ descriptorString,
55
+ '--descriptorIndex',
56
+ '0',
57
+ ]);
58
+ await assertEqualFixture('/tmp/test.psbt', '2.addDescriptorInput.psbt');
59
+ });
60
+ it('add output', async function () {
61
+ await runPsbtCommand([
62
+ 'addOutput',
63
+ '--path',
64
+ '/tmp/test.psbt',
65
+ '--edit',
66
+ '--address',
67
+ getAddressFromDescriptor(descriptor.atDerivationIndex(1), utxolib.networks.bitcoin),
68
+ '--amount',
69
+ '1111',
70
+ ]);
71
+ await assertEqualFixture('/tmp/test.psbt', '3.addOutput.psbt');
72
+ });
73
+ it('add max output', async function () {
74
+ await runPsbtCommand([
75
+ 'addOutput',
76
+ '--path',
77
+ '/tmp/test.psbt',
78
+ '--edit',
79
+ '--address',
80
+ getAddressFromDescriptor(descriptor.atDerivationIndex(2), utxolib.networks.bitcoin),
81
+ '--amount',
82
+ 'max',
83
+ '--feeRateSatB',
84
+ '10',
85
+ ]);
86
+ await assertEqualFixture('/tmp/test.psbt', '4.addMaxOutput.psbt');
87
+ });
88
+ it('sign', async function () {
89
+ await runPsbtCommand(['sign', '--path', '/tmp/test.psbt', '--edit', '--key', keys[0].toBase58()]);
90
+ await runPsbtCommand(['sign', '--path', '/tmp/test.psbt', '--edit', '--key', keys[1].toBase58()]);
91
+ await assertEqualFixture('/tmp/test.psbt', '5.sign.psbt');
92
+ });
93
+ it('finalize', async function () {
94
+ await runPsbtCommand(['finalize', '--path', '/tmp/test.psbt', '--edit']);
95
+ await assertEqualFixture('/tmp/test.psbt', '6.finalize.psbt');
96
+ });
97
+ it('extract', async function () {
98
+ await runPsbtCommand(['extract', '--path', '/tmp/test.psbt', '--out', '/tmp/test.hex']);
99
+ await assertEqualFixture('/tmp/test.hex', '7.extract.hex');
100
+ });
101
+ });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUHNidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvY21kUHNidC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlDQUFpQztBQUNqQyxrQ0FBa0M7QUFFbEMsK0JBQStCO0FBQy9CLDJDQUEyQztBQUMzQyw0REFBb0Q7QUFFcEQsOENBQTBDO0FBQzFDLHlDQUFpRTtBQUNqRSw2Q0FBNEM7QUFDNUMsOENBQTJDO0FBRTNDLEtBQUssVUFBVSxjQUFjLENBQUMsSUFBYztJQUMxQyxPQUFPLGtCQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsT0FBZSxFQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87SUFDakcsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMkJBQWdCLEVBQUMsc0JBQXNCLE9BQU8sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pGLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7UUFDakQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFF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RSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUs7UUFDakIsTUFBTSxjQUFjLENBQUMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sa0JBQWtCLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzL3Byb21pc2VzJztcblxuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG5pbXBvcnQgeyBjbWRQc2J0IH0gZnJvbSAnLi4vc3JjL2NvbW1hbmRzJztcbmltcG9ydCB7IGZvcm1hdFRyZWVOb0NvbG9yLCBnZXRGaXh0dXJlU3RyaW5nIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5pbXBvcnQgeyBnZXRLZXlUcmlwbGUgfSBmcm9tICcuL2JpcDMyLnV0aWwnO1xuaW1wb3J0IHsgVHhQYXJzZXIgfSBmcm9tICcuLi9zcmMvVHhQYXJzZXInO1xuXG5hc3luYyBmdW5jdGlvbiBydW5Qc2J0Q29tbWFuZChhcmdzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gY21kUHNidC5idWlsZGVyKHlhcmdzKFtdKSkuc3RyaWN0KCkuZXhpdFByb2Nlc3MoZmFsc2UpLnBhcnNlKGFyZ3MpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBhc3NlcnRFcXVhbEZpeHR1cmUocGF0aDogc3RyaW5nLCBmaXh0dXJlOiBzdHJpbmcsIG5ldHdvcmsgPSB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pIHtcbiAgY29uc3QgYWN0dWFsID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aCwgJ3V0ZjgnKTtcbiAgY29uc3QgZXhwZWN0ZWQgPSBhd2FpdCBnZXRGaXh0dXJlU3RyaW5nKGB0ZXN0L2ZpeHR1cmVzL3BzYnQvJHtmaXh0dXJlfWAsIGFjdHVhbCk7XG4gIGFzc2VydC5zdHJpY3RFcXVhbChhY3R1YWwsIGV4cGVjdGVkKTtcbiAgY29uc3QgdHggPSBwYXRoLmVuZHNXaXRoKCcucHNidCcpXG4gICAgPyB1dHhvbGliLmJpdGdvLmNyZWF0ZVBzYnREZWNvZGUoYWN0dWFsLCBuZXR3b3JrKVxuICAgIDogdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21CdWZmZXIoQnVmZmVyLmZyb20oYWN0dWFsLCAnaGV4JyksIG5ldHdvcmssIHsgYW1vdW50VHlwZTogJ2JpZ2ludCcgfSk7XG4gIGNvbnN0IHBhcnNlZCA9IG5ldyBUeFBhcnNlcihUeFBhcnNlci5QQVJTRV9BTEwpLnBhcnNlKHR4KTtcbiAgY29uc3QgZm9ybWF0ID0gZm9ybWF0VHJlZU5vQ29sb3IocGFyc2VkLCB7IHNob3dBbGw6IHRydWUgfSk7XG4gIGFzc2VydC5zdHJpY3RFcXVhbChmb3JtYXQsIGF3YWl0IGdldEZpeHR1cmVTdHJpbmcoYHRlc3QvZml4dHVyZXMvcHNidC8ke2ZpeHR1cmV9LnR4dGAsIGZvcm1hdCkpO1xufVxuXG5mdW5jdGlvbiBtdWx0aShuOiBudW1iZXIsIHhwdWJzOiBzdHJpbmdbXSwgcGF0aDogc3RyaW5nKSB7XG4gIHJldHVybiAnbXVsdGkoJyArIG4gKyAnLCcgKyB4cHVicy5tYXAoKHhwdWIpID0+IHhwdWIgKyBwYXRoKS5qb2luKCcsJykgKyAnKSc7XG59XG5cbmZ1bmN0aW9uIGdldEFkZHJlc3NGcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLCBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmspIHtcbiAgcmV0dXJuIHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KEJ1ZmZlci5mcm9tKGRlc2NyaXB0b3Iuc2NyaXB0UHVia2V5KCkpLCBuZXR3b3JrKTtcbn1cblxuZGVzY3JpYmUoJ2NtZFBzYnQgY29tbWFuZHMnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlUcmlwbGUoJ2NtZFBzYnQnKTtcbiAgY29uc3QgeHB1YnMgPSBrZXlzLm1hcCgoaykgPT4gay5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpO1xuICBjb25zdCBkZXNjcmlwdG9yU3RyaW5nID0gYHdzaCgke211bHRpKDIsIHhwdWJzLCAnLyonKX0pYDtcbiAgY29uc3QgZGVzY3JpcHRvciA9IERlc2NyaXB0b3IuZnJvbVN0cmluZyhkZXNjcmlwdG9yU3RyaW5nLCAnZGVyaXZhYmxlJyk7XG5cbiAgaXQoJ2NyZWF0ZXMgZW1wdHkgcHNidCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhd2FpdCBmcy5ybSgnL3RtcC90ZXN0LnBzYnQnLCB7IGZvcmNlOiB0cnVlIH0pO1xuICAgIGF3YWl0IHJ1blBzYnRDb21tYW5kKFsnY3JlYXRlJywgJy0tcGF0aCcsICcvdG1wL3Rlc3QucHNidCcsICctLWVkaXQnXSk7XG4gICAgYXdhaXQgYXNzZXJ0RXF1YWxGaXh0dXJlKCcvdG1wL3Rlc3QucHNidCcsICcxLmVtcHR5LnBzYnQnKTtcbiAgfSk7XG5cbiAgaXQoJ2FkZHMgZGVzY3JpcHRvciBpbnB1dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBvdXRwdXRJZCA9IEJ1ZmZlci5hbGxvYygzMikuZmlsbCgxKS50b1N0cmluZygnaGV4JykgKyAnOjAnO1xuICAgIGF3YWl0IHJ1blBzYnRDb21tYW5kKFtcbiAgICAgICdhZGREZXNjcmlwdG9ySW5wdXQnLFxuICAgICAgJy0tcGF0aCcsXG4gICAgICAnL3RtcC90ZXN0LnBzYnQnLFxuICAgICAgJy0tZWRpdCcsXG4gICAgICAnLS1vdXRwdXRJZCcsXG4gICAgICBvdXRwdXRJZCxcbiAgICAgICctLXZhbHVlJyxcbiAgICAgICcxMDAwMDAwJyxcbiAgICAgICctLWRlc2NyaXB0b3InLFxuICAgICAgZGVzY3JpcHRvclN0cmluZyxcbiAgICAgICctLWRlc2NyaXB0b3JJbmRleCcsXG4gICAgICAnMCcsXG4gICAgXSk7XG4gICAgYXdhaXQgYXNzZXJ0RXF1YWxGaXh0dXJlKCcvdG1wL3Rlc3QucHNidCcsICcyLmFkZERlc2NyaXB0b3JJbnB1dC5wc2J0Jyk7XG4gIH0pO1xuXG4gIGl0KCdhZGQgb3V0cHV0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGF3YWl0IHJ1blBzYnRDb21tYW5kKFtcbiAgICAgICdhZGRPdXRwdXQnLFxuICAgICAgJy0tcGF0aCcsXG4gICAgICAnL3RtcC90ZXN0LnBzYnQnLFxuICAgICAgJy0tZWRpdCcsXG4gICAgICAnLS1hZGRyZXNzJyxcbiAgICAgIGdldEFkZHJlc3NGcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KDEpLCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pLFxuICAgICAgJy0tYW1vdW50JyxcbiAgICAgICcxMTExJyxcbiAgICBdKTtcbiAgICBhd2FpdCBhc3NlcnRFcXVhbEZpeHR1cmUoJy90bXAvdGVzdC5wc2J0JywgJzMuYWRkT3V0cHV0LnBzYnQnKTtcbiAgfSk7XG5cbiAgaXQoJ2FkZCBtYXggb3V0cHV0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGF3YWl0IHJ1blBzYnRDb21tYW5kKFtcbiAgICAgICdhZGRPdXRwdXQnLFxuICAgICAgJy0tcGF0aCcsXG4gICAgICAnL3RtcC90ZXN0LnBzYnQnLFxuICAgICAgJy0tZWRpdCcsXG4gICAgICAnLS1hZGRyZXNzJyxcbiAgICAgIGdldEFkZHJlc3NGcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KDIpLCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pLFxuICAgICAgJy0tYW1vdW50JyxcbiAgICAgICdtYXgnLFxuICAgICAgJy0tZmVlUmF0ZVNhdEInLFxuICAgICAgJzEwJyxcbiAgICBdKTtcblxuICAgIGF3YWl0IGFzc2VydEVxdWFsRml4dHVyZSgnL3RtcC90ZXN0LnBzYnQnLCAnNC5hZGRNYXhPdXRwdXQucHNidCcpO1xuICB9KTtcblxuICBpdCgnc2lnbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhd2FpdCBydW5Qc2J0Q29tbWFuZChbJ3NpZ24nLCAnLS1wYXRoJywgJy90bXAvdGVzdC5wc2J0JywgJy0tZWRpdCcsICctLWtleScsIGtleXNbMF0udG9CYXNlNTgoKV0pO1xuICAgIGF3YWl0IHJ1blBzYnRDb21tYW5kKFsnc2lnbicsICctLXBhdGgnLCAnL3RtcC90ZXN0LnBzYnQnLCAnLS1lZGl0JywgJy0ta2V5Jywga2V5c1sxXS50b0Jhc2U1OCgpXSk7XG4gICAgYXdhaXQgYXNzZXJ0RXF1YWxGaXh0dXJlKCcvdG1wL3Rlc3QucHNidCcsICc1LnNpZ24ucHNidCcpO1xuICB9KTtcblxuICBpdCgnZmluYWxpemUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgYXdhaXQgcnVuUHNidENvbW1hbmQoWydmaW5hbGl6ZScsICctLXBhdGgnLCAnL3RtcC90ZXN0LnBzYnQnLCAnLS1lZGl0J10pO1xuICAgIGF3YWl0IGFzc2VydEVxdWFsRml4dHVyZSgnL3RtcC90ZXN0LnBzYnQnLCAnNi5maW5hbGl6ZS5wc2J0Jyk7XG4gIH0pO1xuXG4gIGl0KCdleHRyYWN0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGF3YWl0IHJ1blBzYnRDb21tYW5kKFsnZXh0cmFjdCcsICctLXBhdGgnLCAnL3RtcC90ZXN0LnBzYnQnLCAnLS1vdXQnLCAnL3RtcC90ZXN0LmhleCddKTtcbiAgICBhd2FpdCBhc3NlcnRFcXVhbEZpeHR1cmUoJy90bXAvdGVzdC5oZXgnLCAnNy5leHRyYWN0LmhleCcpO1xuICB9KTtcbn0pO1xuIl19
@@ -15,10 +15,10 @@ type FixtureParams = {
15
15
  scriptType: utxolib.bitgo.outputScripts.ScriptType2Of3;
16
16
  spendType?: 'keyPath' | 'scriptPath';
17
17
  };
18
- export declare function getPsbt(network: utxolib.Network, params: FixtureParams, { writeFixture }?: {
18
+ export declare function getPsbt(network: utxolib.Network, basePath: string, params: FixtureParams, { writeFixture }?: {
19
19
  writeFixture?: string;
20
20
  }): Promise<ParsedFixture>;
21
- export declare function getTransactionWithSpendType(network: utxolib.Network, params: FixtureParams): Promise<ParsedFixture>;
21
+ export declare function getTransactionWithSpendType(network: utxolib.Network, basePath: string, params: FixtureParams): Promise<ParsedFixture>;
22
22
  export declare function getFixtureString(path: string, defaultValue: string): Promise<string>;
23
23
  export {};
24
24
  //# sourceMappingURL=fixtures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../test/fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE1F;AAED,MAAM,MAAM,aAAa,GACrB;IACE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;CACzC,GACD;IACE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;IACpC,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEN,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;IACxF,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;IACvD,SAAS,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACtC,CAAC;AAIF,wBAAsB,OAAO,CAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,MAAM,EAAE,aAAa,EACrB,EAAE,YAAY,EAAE,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,aAAa,CAAC,CAmCxB;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CA4CxB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1F"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../test/fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE1F;AAED,MAAM,MAAM,aAAa,GACrB;IACE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;CACzC,GACD;IACE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;IACpC,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEN,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;IACxF,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;IACvD,SAAS,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACtC,CAAC;AAIF,wBAAsB,OAAO,CAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,EACrB,EAAE,YAAY,EAAE,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,aAAa,CAAC,CAmCxB;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CA4CxB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1F"}