@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.
- package/dist/bin/index.js +2 -1
- package/dist/src/AddressParser.d.ts.map +1 -1
- package/dist/src/AddressParser.js +13 -7
- package/dist/src/args/parseNetwork.d.ts +3 -0
- package/dist/src/args/parseNetwork.d.ts.map +1 -1
- package/dist/src/args/parseNetwork.js +43 -2
- package/dist/src/commands/cmdAddress/index.js +2 -2
- package/dist/src/commands/cmdParseTx.d.ts +1 -1
- package/dist/src/commands/cmdParseTx.d.ts.map +1 -1
- package/dist/src/commands/cmdParseTx.js +1 -1
- package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts +13 -0
- package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.js +67 -0
- package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts +11 -0
- package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdAddOutput.js +89 -0
- package/dist/src/commands/cmdPsbt/cmdCreate.d.ts +9 -0
- package/dist/src/commands/cmdPsbt/cmdCreate.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdCreate.js +23 -0
- package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts +11 -0
- package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdFinalize.js +43 -0
- package/dist/src/commands/cmdPsbt/cmdSign.d.ts +7 -0
- package/dist/src/commands/cmdPsbt/cmdSign.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdSign.js +24 -0
- package/dist/src/commands/cmdPsbt/index.d.ts +8 -0
- package/dist/src/commands/cmdPsbt/index.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/index.js +27 -0
- package/dist/src/commands/cmdPsbt/withPsbt.d.ts +65 -0
- package/dist/src/commands/cmdPsbt/withPsbt.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/withPsbt.js +66 -0
- package/dist/src/commands/cmdPsbt/wrap.d.ts +7 -0
- package/dist/src/commands/cmdPsbt/wrap.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/wrap.js +28 -0
- package/dist/src/commands/index.d.ts +1 -0
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +2 -1
- package/dist/test/cmdPsbt.d.ts +2 -0
- package/dist/test/cmdPsbt.d.ts.map +1 -0
- package/dist/test/cmdPsbt.js +102 -0
- package/dist/test/fixtures.d.ts +2 -2
- package/dist/test/fixtures.d.ts.map +1 -1
- package/dist/test/fixtures.js +6 -6
- package/dist/test/parseAddress.d.ts.map +1 -1
- package/dist/test/parseAddress.js +9 -6
- package/dist/test/parseScript.js +2 -2
- package/dist/test/parseTransaction.js +7 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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 @@
|
|
|
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 @@
|
|
|
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
|
|
@@ -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
|
-
|
|
21
|
+
__exportStar(require("./cmdPsbt"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QiwrQ0FBNkI7QUFDN0IsbURBQWlDO0FBQ2pDLDZDQUEyQjtBQUMzQiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NtZFBhcnNlVHgnO1xuZXhwb3J0ICogZnJvbSAnLi9jbWRBZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vY21kUGFyc2VTY3JpcHQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbWRCaXAzMic7XG5leHBvcnQgKiBmcm9tICcuL2NtZFBzYnQnO1xuIl19
|
|
@@ -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
|
package/dist/test/fixtures.d.ts
CHANGED
|
@@ -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"}
|