@bitgo-beta/utxo-bin 2.8.3-beta.57 → 2.8.3-beta.571

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 (136) hide show
  1. package/README.md +63 -4
  2. package/dist/bin/index.js +11 -2
  3. package/dist/src/AddressParser.d.ts +2 -0
  4. package/dist/src/AddressParser.d.ts.map +1 -1
  5. package/dist/src/AddressParser.js +7 -1
  6. package/dist/src/InputParser.d.ts +2 -1
  7. package/dist/src/InputParser.d.ts.map +1 -1
  8. package/dist/src/InputParser.js +29 -22
  9. package/dist/src/OutputParser.d.ts +4 -2
  10. package/dist/src/OutputParser.d.ts.map +1 -1
  11. package/dist/src/OutputParser.js +17 -4
  12. package/dist/src/Parser.d.ts +4 -2
  13. package/dist/src/Parser.d.ts.map +1 -1
  14. package/dist/src/Parser.js +13 -2
  15. package/dist/src/ParserTx.d.ts +4 -3
  16. package/dist/src/ParserTx.d.ts.map +1 -1
  17. package/dist/src/ScriptParser.d.ts +22 -0
  18. package/dist/src/ScriptParser.d.ts.map +1 -0
  19. package/dist/src/ScriptParser.js +91 -0
  20. package/dist/src/TxParser.d.ts +3 -2
  21. package/dist/src/TxParser.d.ts.map +1 -1
  22. package/dist/src/TxParser.js +9 -7
  23. package/dist/src/args/format.d.ts +8 -0
  24. package/dist/src/args/format.d.ts.map +1 -0
  25. package/dist/src/args/format.js +15 -0
  26. package/dist/src/args/index.d.ts +5 -0
  27. package/dist/src/args/index.d.ts.map +1 -0
  28. package/dist/src/args/index.js +21 -0
  29. package/dist/src/args/parseNetwork.d.ts +22 -0
  30. package/dist/src/args/parseNetwork.d.ts.map +1 -0
  31. package/dist/src/args/parseNetwork.js +34 -0
  32. package/dist/src/args/parseString.d.ts +42 -0
  33. package/dist/src/args/parseString.d.ts.map +1 -0
  34. package/dist/src/args/parseString.js +120 -0
  35. package/dist/src/args/walletKeys.d.ts +38 -0
  36. package/dist/src/args/walletKeys.d.ts.map +1 -0
  37. package/dist/src/args/walletKeys.js +29 -0
  38. package/dist/src/bip32.d.ts +5 -0
  39. package/dist/src/bip32.d.ts.map +1 -0
  40. package/dist/src/bip32.js +25 -0
  41. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts +21 -0
  42. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts.map +1 -0
  43. package/dist/src/commands/cmdAddress/cmdGenerate.js +89 -0
  44. package/dist/src/commands/cmdAddress/cmdParse.d.ts +20 -0
  45. package/dist/src/commands/cmdAddress/cmdParse.d.ts.map +1 -0
  46. package/dist/src/commands/cmdAddress/cmdParse.js +28 -0
  47. package/dist/src/commands/cmdAddress/index.d.ts +3 -0
  48. package/dist/src/commands/cmdAddress/index.d.ts.map +1 -0
  49. package/dist/src/commands/cmdAddress/index.js +16 -0
  50. package/dist/src/commands/cmdBip32.d.ts +16 -0
  51. package/dist/src/commands/cmdBip32.d.ts.map +1 -0
  52. package/dist/src/commands/cmdBip32.js +45 -0
  53. package/dist/src/commands/cmdParseScript.d.ts +18 -0
  54. package/dist/src/commands/cmdParseScript.d.ts.map +1 -0
  55. package/dist/src/commands/cmdParseScript.js +27 -0
  56. package/dist/src/commands/cmdParseTx.d.ts +30 -0
  57. package/dist/src/commands/cmdParseTx.d.ts.map +1 -0
  58. package/dist/src/commands/cmdParseTx.js +120 -0
  59. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts +13 -0
  60. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts.map +1 -0
  61. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.js +67 -0
  62. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts +11 -0
  63. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts.map +1 -0
  64. package/dist/src/commands/cmdPsbt/cmdAddOutput.js +89 -0
  65. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts +9 -0
  66. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts.map +1 -0
  67. package/dist/src/commands/cmdPsbt/cmdCreate.js +23 -0
  68. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts +11 -0
  69. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts.map +1 -0
  70. package/dist/src/commands/cmdPsbt/cmdFinalize.js +43 -0
  71. package/dist/src/commands/cmdPsbt/cmdSign.d.ts +7 -0
  72. package/dist/src/commands/cmdPsbt/cmdSign.d.ts.map +1 -0
  73. package/dist/src/commands/cmdPsbt/cmdSign.js +24 -0
  74. package/dist/src/commands/cmdPsbt/index.d.ts +8 -0
  75. package/dist/src/commands/cmdPsbt/index.d.ts.map +1 -0
  76. package/dist/src/commands/cmdPsbt/index.js +27 -0
  77. package/dist/src/commands/cmdPsbt/withPsbt.d.ts +65 -0
  78. package/dist/src/commands/cmdPsbt/withPsbt.d.ts.map +1 -0
  79. package/dist/src/commands/cmdPsbt/withPsbt.js +66 -0
  80. package/dist/src/commands/cmdPsbt/wrap.d.ts +7 -0
  81. package/dist/src/commands/cmdPsbt/wrap.d.ts.map +1 -0
  82. package/dist/src/commands/cmdPsbt/wrap.js +28 -0
  83. package/dist/src/commands/formatString.d.ts +8 -0
  84. package/dist/src/commands/formatString.d.ts.map +1 -0
  85. package/dist/src/commands/formatString.js +15 -0
  86. package/dist/src/commands/index.d.ts +6 -0
  87. package/dist/src/commands/index.d.ts.map +1 -0
  88. package/dist/src/commands/index.js +22 -0
  89. package/dist/src/ecdsa.d.ts +1 -0
  90. package/dist/src/ecdsa.d.ts.map +1 -1
  91. package/dist/src/fetch.d.ts +8 -1
  92. package/dist/src/fetch.d.ts.map +1 -1
  93. package/dist/src/fetch.js +38 -4
  94. package/dist/src/format.d.ts.map +1 -1
  95. package/dist/src/format.js +14 -5
  96. package/dist/src/generateAddress.d.ts +47 -0
  97. package/dist/src/generateAddress.d.ts.map +1 -0
  98. package/dist/src/generateAddress.js +144 -0
  99. package/dist/src/hollowSegwitSpend.d.ts +1 -1
  100. package/dist/src/hollowSegwitSpend.d.ts.map +1 -1
  101. package/dist/src/parseUnknown.d.ts +3 -1
  102. package/dist/src/parseUnknown.d.ts.map +1 -1
  103. package/dist/src/parseUnknown.js +4 -4
  104. package/dist/test/args/stringToBuffer.d.ts +2 -0
  105. package/dist/test/args/stringToBuffer.d.ts.map +1 -0
  106. package/dist/test/args/stringToBuffer.js +16 -0
  107. package/dist/test/bip32.d.ts +2 -0
  108. package/dist/test/bip32.d.ts.map +1 -0
  109. package/dist/test/bip32.js +22 -0
  110. package/dist/test/bip32.util.d.ts +6 -0
  111. package/dist/test/bip32.util.d.ts.map +1 -0
  112. package/dist/test/bip32.util.js +14 -0
  113. package/dist/test/cmdPsbt.d.ts +2 -0
  114. package/dist/test/cmdPsbt.d.ts.map +1 -0
  115. package/dist/test/cmdPsbt.js +102 -0
  116. package/dist/test/fixtures.d.ts +4 -4
  117. package/dist/test/fixtures.d.ts.map +1 -1
  118. package/dist/test/fixtures.js +16 -9
  119. package/dist/test/generateAddress.d.ts +2 -0
  120. package/dist/test/generateAddress.d.ts.map +1 -0
  121. package/dist/test/generateAddress.js +46 -0
  122. package/dist/test/parseAddress.d.ts +1 -5
  123. package/dist/test/parseAddress.d.ts.map +1 -1
  124. package/dist/test/parseAddress.js +15 -19
  125. package/dist/test/parseScript.d.ts +2 -0
  126. package/dist/test/parseScript.d.ts.map +1 -0
  127. package/dist/test/parseScript.js +38 -0
  128. package/dist/test/parseTransaction.js +14 -10
  129. package/dist/tsconfig.tsbuildinfo +1 -1
  130. package/package.json +9 -6
  131. package/dist/src/commands.d.ts +0 -48
  132. package/dist/src/commands.d.ts.map +0 -1
  133. package/dist/src/commands.js +0 -213
  134. package/dist/src/readStdin.d.ts +0 -5
  135. package/dist/src/readStdin.d.ts.map +0 -1
  136. package/dist/src/readStdin.js +0 -42
@@ -0,0 +1,65 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import * as utxolib from '@bitgo-beta/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"; /** output path */
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,sBAAsB,CAAC;AAGhD,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;;;;;;;;;;;;;wBAL1B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;CAWV,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-beta/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUHNidC93aXRoUHNidC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrQ0FBa0M7QUFDbEMsZ0RBQWdEO0FBRWhELHFDQUFxRjtBQUNyRixtQ0FBZ0M7QUFvQm5CLFFBQUEsZUFBZSxHQUFHO0lBQzdCLEdBQUcsd0JBQWlCO0lBQ3BCLEdBQUcsSUFBQSw4QkFBdUIsRUFBQyxTQUFTLENBQUM7SUFDckMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0lBQzNDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtJQUN6QyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0NBQ2YsQ0FBQztBQUVKLEtBQUssVUFBVSxlQUFlLENBQUMsSUFBZTtJQUNuRCxJQUFJLElBQXdCLENBQUM7SUFDN0IsSUFBSTtRQUNGLElBQUksR0FBRyxNQUFNLElBQUEsa0JBQVcsRUFBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQzdEO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixtQkFBbUI7UUFDbkIsSUFBSyxDQUEyQixDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDbEQsTUFBTSxDQUFDLENBQUM7U0FDVDtLQUNGO0lBQ0QsSUFBSSxJQUFJLEVBQUU7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNuRTtJQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNmLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQXJCRCwwQ0FxQkM7QUFFTSxLQUFLLFVBQVUsVUFBVSxDQUFDLEtBQXFDLEVBQUUsSUFBNEI7SUFDbEcsSUFBSSxLQUFLLFlBQVksT0FBTyxDQUFDLElBQUksRUFBRTtRQUNqQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzFCO0lBRUQsSUFBSSxLQUFLLFlBQVksZUFBTSxFQUFFO1FBQzNCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQy9CO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNqQztTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNwQjtBQUNILENBQUM7QUFyQkQsZ0NBcUJDO0FBRU0sS0FBSyxVQUFVLFFBQVEsQ0FDNUIsSUFBNEIsRUFDNUIsRUFBMEQ7SUFFMUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQU5ELDRCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IGFyZ1RvU3RyaW5nLCBnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCwgcmVhZFN0cmluZ09wdGlvbnMgfSBmcm9tICcuLi8uLi9hcmdzJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5cbnR5cGUgSW5wdXRBcmdzID0ge1xuICAvKiogcGF0aCB0byBwc2J0IGZpbGUgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIHdoZW4gc2V0LCBjcmVhdGUgYSBuZXcgcHNidCAqL1xuICBjcmVhdGU/OiBib29sZWFuO1xuICAvKiogbmV0d29yayAqL1xuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcms7XG4gIC8qKiBleHBlY3QgZW1wdHkgcHNidCAqL1xuICBleHBlY3RFbXB0eT86IGJvb2xlYW47XG59O1xudHlwZSBPdXRwdXRBcmdzID0ge1xuICAvKiogZWRpdCB0aGUgaW5wdXQgZmlsZSAqL1xuICBlZGl0OiBib29sZWFuO1xuICAvKiogb3V0cHV0IHBhdGggKi9cbiAgb3V0Pzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFdpdGhQc2J0T3B0aW9ucyA9IElucHV0QXJncyAmIE91dHB1dEFyZ3M7XG5cbmV4cG9ydCBjb25zdCB3aXRoUHNidE9wdGlvbnMgPSB7XG4gIC4uLnJlYWRTdHJpbmdPcHRpb25zLFxuICAuLi5nZXROZXR3b3JrT3B0aW9uc0RlbWFuZCgnYml0Y29pbicpLFxuICBjcmVhdGU6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9LFxuICBlZGl0OiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgb3V0OiB7IHR5cGU6ICdzdHJpbmcnIH0sXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0T3JDcmVhdGVQc2J0KGFyZ3M6IElucHV0QXJncyk6IFByb21pc2U8dXR4b2xpYi5Qc2J0PiB7XG4gIGxldCBwc2J0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHRyeSB7XG4gICAgcHNidCA9IGF3YWl0IGFyZ1RvU3RyaW5nKHsgcGF0aDogYXJncy5wYXRoLCBzdGRpbjogZmFsc2UgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBjaGVjayBmb3IgRU5PRU5UXG4gICAgaWYgKChlIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSAhPT0gJ0VOT0VOVCcpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG4gIGlmIChwc2J0KSB7XG4gICAgaWYgKGFyZ3MuZXhwZWN0RW1wdHkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcHNidCBpcyBub3QgZW1wdHkgKHBhdGg9JHthcmdzLnBhdGh9KWApO1xuICAgIH1cbiAgICBjb25zdCBidWZmZXIgPSB1dHhvbGliLmJpdGdvLnRvUHNidEJ1ZmZlcihwc2J0KTtcbiAgICByZXR1cm4gdXR4b2xpYi5Qc2J0LmZyb21CdWZmZXIoYnVmZmVyLCB7IG5ldHdvcms6IGFyZ3MubmV0d29yayB9KTtcbiAgfVxuICBpZiAoYXJncy5jcmVhdGUpIHtcbiAgICByZXR1cm4gbmV3IHV0eG9saWIuUHNidCh7IG5ldHdvcms6IGFyZ3MubmV0d29yayB9KTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYG1pc3NpbmcgcHNidCAocGF0aD0ke2FyZ3MucGF0aH0pYCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbWl0T3V0cHV0KHZhbHVlOiB1dHhvbGliLlBzYnQgfCBCdWZmZXIgfCBzdHJpbmcsIGFyZ3M6IElucHV0QXJncyAmIE91dHB1dEFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgdXR4b2xpYi5Qc2J0KSB7XG4gICAgdmFsdWUgPSB2YWx1ZS50b0Jhc2U2NCgpO1xuICB9XG5cbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICBpZiAoYXJncy5lZGl0IHx8IGFyZ3Mub3V0KSB7XG4gICAgaWYgKGFyZ3MuZWRpdCAmJiBhcmdzLm91dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjYW5ub3Qgc3BlY2lmeSBib3RoIGVkaXQgYW5kIG91dCcpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gYXJncy5lZGl0ID8gYXJncy5wYXRoIDogYXJncy5vdXQ7XG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3Npbmcgb3V0IHBhdGgnKTtcbiAgICB9XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGgsIHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmxvZyh2YWx1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdpdGhQc2J0KFxuICBhcmdzOiBJbnB1dEFyZ3MgJiBPdXRwdXRBcmdzLFxuICBmbjogKHBzYnQ6IHV0eG9saWIuUHNidCkgPT4gUHJvbWlzZTx1dHhvbGliLlBzYnQgfCBCdWZmZXI+XG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcHNidCA9IGF3YWl0IGdldE9yQ3JlYXRlUHNidChhcmdzKTtcbiAgYXdhaXQgZW1pdE91dHB1dChhd2FpdCBmbihwc2J0KSwgYXJncyk7XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import * as utxolib from '@bitgo-beta/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,sBAAsB,CAAC;AAChD,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-beta/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbWRQc2J0L3dyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0RBQWdEO0FBQ2hELDREQUE4QztBQUU5QyxTQUFnQixhQUFhLENBQUMsSUFBaUU7SUFDN0YsSUFBSSxJQUFJLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxZQUFZLE9BQU8sQ0FBQyxJQUFJLEVBQUU7UUFDMUUsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztLQUN4QjtJQUNELElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFO1FBQ3hELE9BQU8sc0JBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDL0I7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFSRCxzQ0FRQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxJQUFnQztJQUN6RCxJQUFJLElBQUksWUFBWSxzQkFBSSxFQUFFO1FBQ3hCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7S0FDekI7SUFDRCxJQUFJLElBQUksWUFBWSxNQUFNLElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRTtRQUN4RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFELE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87U0FDbEMsQ0FBQyxDQUFDO0tBQ0o7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFWRCxnQ0FVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgUHNidCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9XcmFwcGVkUHNidChwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgdXR4b2xpYi5Qc2J0IHwgQnVmZmVyIHwgVWludDhBcnJheSk6IFBzYnQge1xuICBpZiAocHNidCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfHwgcHNidCBpbnN0YW5jZW9mIHV0eG9saWIuUHNidCkge1xuICAgIHBzYnQgPSBwc2J0LnRvQnVmZmVyKCk7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBCdWZmZXIgfHwgcHNidCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICByZXR1cm4gUHNidC5kZXNlcmlhbGl6ZShwc2J0KTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW5wdXQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvVXR4b1BzYnQocHNidDogUHNidCB8IEJ1ZmZlciB8IFVpbnQ4QXJyYXkpOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHtcbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBQc2J0KSB7XG4gICAgcHNidCA9IHBzYnQuc2VyaWFsaXplKCk7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBCdWZmZXIgfHwgcHNidCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICByZXR1cm4gdXR4b2xpYi5iaXRnby5VdHhvUHNidC5mcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKHBzYnQpLCB7XG4gICAgICBuZXR3b3JrOiB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4sXG4gICAgfSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlucHV0Jyk7XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { ParserNode } from '../Parser';
2
+ import { FormatTreeOrJson } from '../args';
3
+ export type FormatStringArgs = {
4
+ format: FormatTreeOrJson;
5
+ all: boolean;
6
+ };
7
+ export declare function formatString(parsed: ParserNode, argv: FormatStringArgs): string;
8
+ //# sourceMappingURL=formatString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatString.d.ts","sourceRoot":"","sources":["../../../src/commands/formatString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAQ/E"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatString = void 0;
4
+ const format_1 = require("../format");
5
+ function formatString(parsed, argv) {
6
+ switch (argv.format) {
7
+ case 'json':
8
+ return JSON.stringify(parsed, null, 2);
9
+ case 'tree':
10
+ return (0, format_1.formatTree)(parsed, { hide: argv.all ? [] : undefined });
11
+ }
12
+ throw new Error(`invalid format ${argv.format}`);
13
+ }
14
+ exports.formatString = formatString;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0U3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2Zvcm1hdFN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FBdUM7QUFRdkMsU0FBZ0IsWUFBWSxDQUFDLE1BQWtCLEVBQUUsSUFBc0I7SUFDckUsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ25CLEtBQUssTUFBTTtZQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssTUFBTTtZQUNULE9BQU8sSUFBQSxtQkFBVSxFQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDbEU7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBUkQsb0NBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZXJOb2RlIH0gZnJvbSAnLi4vUGFyc2VyJztcbmltcG9ydCB7IGZvcm1hdFRyZWUgfSBmcm9tICcuLi9mb3JtYXQnO1xuaW1wb3J0IHsgRm9ybWF0VHJlZU9ySnNvbiB9IGZyb20gJy4uL2FyZ3MnO1xuXG5leHBvcnQgdHlwZSBGb3JtYXRTdHJpbmdBcmdzID0ge1xuICBmb3JtYXQ6IEZvcm1hdFRyZWVPckpzb247XG4gIGFsbDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRTdHJpbmcocGFyc2VkOiBQYXJzZXJOb2RlLCBhcmd2OiBGb3JtYXRTdHJpbmdBcmdzKTogc3RyaW5nIHtcbiAgc3dpdGNoIChhcmd2LmZvcm1hdCkge1xuICAgIGNhc2UgJ2pzb24nOlxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBhcnNlZCwgbnVsbCwgMik7XG4gICAgY2FzZSAndHJlZSc6XG4gICAgICByZXR1cm4gZm9ybWF0VHJlZShwYXJzZWQsIHsgaGlkZTogYXJndi5hbGwgPyBbXSA6IHVuZGVmaW5lZCB9KTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgZm9ybWF0ICR7YXJndi5mb3JtYXR9YCk7XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './cmdParseTx';
2
+ export * from './cmdAddress';
3
+ export * from './cmdParseScript';
4
+ export * from './cmdBip32';
5
+ export * from './cmdPsbt';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;AAC3B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cmdParseTx"), exports);
18
+ __exportStar(require("./cmdAddress"), exports);
19
+ __exportStar(require("./cmdParseScript"), exports);
20
+ __exportStar(require("./cmdBip32"), exports);
21
+ __exportStar(require("./cmdPsbt"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QiwrQ0FBNkI7QUFDN0IsbURBQWlDO0FBQ2pDLDZDQUEyQjtBQUMzQiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NtZFBhcnNlVHgnO1xuZXhwb3J0ICogZnJvbSAnLi9jbWRBZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vY21kUGFyc2VTY3JpcHQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbWRCaXAzMic7XG5leHBvcnQgKiBmcm9tICcuL2NtZFBzYnQnO1xuIl19
@@ -1,3 +1,4 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  export declare function isHighS(s: Buffer): boolean;
3
4
  //# sourceMappingURL=ecdsa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../src/ecdsa.ts"],"names":[],"mappings":";AAMA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE1C"}
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../src/ecdsa.ts"],"names":[],"mappings":";;AAMA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE1C"}
@@ -2,9 +2,16 @@ import * as utxolib from '@bitgo-beta/utxo-lib';
2
2
  import * as blockapis from '@bitgo-beta/blockapis';
3
3
  import { HttpClient } from '@bitgo-beta/blockapis';
4
4
  import { ParserTx } from './ParserTx';
5
- export declare function fetchTransactionHex(httpClient: HttpClient, txid: string, network: utxolib.Network): Promise<string>;
5
+ export declare function fetchTransactionHex(httpClient: HttpClient, location: {
6
+ txid?: string;
7
+ blockHeight?: number;
8
+ txIndex?: number;
9
+ }, network: utxolib.Network): Promise<string>;
6
10
  export declare function fetchTransactionStatus(httpClient: HttpClient, txid: string, network: utxolib.Network): Promise<blockapis.TransactionStatus>;
7
11
  export declare function fetchPrevOutputs(httpClient: HttpClient, tx: ParserTx): Promise<utxolib.TxOutput<bigint>[]>;
8
12
  export declare function fetchPrevOutputSpends(httpClient: HttpClient, tx: utxolib.bitgo.UtxoTransaction<bigint> | utxolib.bitgo.UtxoPsbt): Promise<blockapis.OutputSpend[]>;
9
13
  export declare function fetchOutputSpends(httpClient: HttpClient, tx: utxolib.bitgo.UtxoTransaction<bigint>): Promise<blockapis.OutputSpend[]>;
14
+ export declare function getClient({ cache }: {
15
+ cache: boolean;
16
+ }): Promise<HttpClient>;
10
17
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA6CtC,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAEtC;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAKhH;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GACjE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAElC;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,GACxC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAMlC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAgE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGjH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA6CtC,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAEtC;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAKhH;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GACjE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAElC;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,GACxC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAOlC;AAED,wBAAsB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAQlF"}
package/dist/src/fetch.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchOutputSpends = exports.fetchPrevOutputSpends = exports.fetchPrevOutputs = exports.fetchTransactionStatus = exports.fetchTransactionHex = void 0;
3
+ exports.getClient = exports.fetchOutputSpends = exports.fetchPrevOutputSpends = exports.fetchPrevOutputs = exports.fetchTransactionStatus = exports.fetchTransactionHex = void 0;
4
+ const fs = require("fs");
5
+ const process = require("process");
6
+ const util_1 = require("util");
4
7
  const utxolib = require("@bitgo-beta/utxo-lib");
5
8
  const blockapis = require("@bitgo-beta/blockapis");
9
+ const blockapis_1 = require("@bitgo-beta/blockapis");
6
10
  const statics_1 = require("@bitgo-beta/statics");
7
11
  function getTxOutPoints(tx) {
8
12
  if (tx instanceof utxolib.bitgo.UtxoTransaction) {
@@ -41,8 +45,27 @@ function getApi(httpClient, network) {
41
45
  return blockapis.BlockchairApi.forCoin(coinName, { httpClient });
42
46
  }
43
47
  }
44
- async function fetchTransactionHex(httpClient, txid, network) {
45
- return await getApi(httpClient, network).getTransactionHex(txid);
48
+ async function fetchTransactionHex(httpClient, location, network) {
49
+ location = Object.fromEntries(Object.entries(location).filter(([k, v]) => v !== undefined));
50
+ if (location.blockHeight !== undefined && location.txIndex !== undefined) {
51
+ const api = getApi(httpClient, network);
52
+ if (api instanceof blockapis.BlockstreamApi) {
53
+ const txids = await (0, blockapis_1.getTransactionIdsAtHeight)(api, location.blockHeight);
54
+ const txid = txids[location.txIndex];
55
+ if (!txid) {
56
+ throw new Error(`no tx at height ${location.blockHeight} position ${location.txIndex}`);
57
+ }
58
+ return fetchTransactionHex(httpClient, { txid }, network);
59
+ }
60
+ throw new Error(`cannot use api ${api.constructor.name} to fetch tx by height`);
61
+ }
62
+ if (location.txid) {
63
+ if (Object.keys(location).length > 1) {
64
+ throw new Error(`cannot specify both txid and ${Object.keys(location)}`);
65
+ }
66
+ return await getApi(httpClient, network).getTransactionHex(location.txid);
67
+ }
68
+ throw new Error(`invalid location: ${JSON.stringify(location)}`);
46
69
  }
47
70
  exports.fetchTransactionHex = fetchTransactionHex;
48
71
  async function fetchTransactionStatus(httpClient, txid, network) {
@@ -65,8 +88,19 @@ async function fetchOutputSpends(httpClient, tx) {
65
88
  return await getApi(httpClient, tx.network).getTransactionSpends(tx.getId());
66
89
  }
67
90
  catch (e) {
91
+ console.error(`error fetching spends for tx ${tx.getId()}: ${e}`);
68
92
  return [];
69
93
  }
70
94
  }
71
95
  exports.fetchOutputSpends = fetchOutputSpends;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0RBQWdEO0FBQ2hELG1EQUFtRDtBQUNuRCxpREFBc0Q7QUFJdEQsU0FBUyxjQUFjLENBQUMsRUFBWTtJQUNsQyxJQUFJLEVBQUUsWUFBWSxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRTtRQUMvQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEU7U0FBTTtRQUNMLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyRTtBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxPQUF3QjtJQUMzQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBELDhGQUE4RjtJQUM5RixRQUFRLFdBQVcsRUFBRTtRQUNuQixLQUFLLGFBQWE7WUFDaEIsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLG9CQUFvQjtZQUN2QixPQUFPLE1BQU0sQ0FBQztLQUNqQjtJQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxlQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUM5QyxJQUFJLFlBQVksa0JBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3hGLENBQUM7SUFDRixRQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDdEIsS0FBSyxDQUFDO1lBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4RCxLQUFLLENBQUM7WUFDSixPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQjtZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFdBQVcsS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ3hFO0FBQ0gsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUFDLFVBQXNCLEVBQUUsT0FBd0I7SUFDOUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLFFBQVEsUUFBUSxFQUFFO1FBQ2hCLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1QsT0FBTyxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFO1lBQ0UsT0FBTyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0tBQ3BFO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxtQkFBbUIsQ0FDdkMsVUFBc0IsRUFDdEIsSUFBWSxFQUNaLE9BQXdCO0lBRXhCLE9BQU8sTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ25FLENBQUM7QUFORCxrREFNQztBQUVNLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsVUFBc0IsRUFDdEIsSUFBWSxFQUNaLE9BQXdCO0lBRXhCLE9BQU8sTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFORCx3REFNQztBQUVNLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxVQUFzQixFQUFFLEVBQVk7SUFDekUsT0FBTyxDQUFDLE1BQU0sU0FBUyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztLQUN2QixDQUFDLENBQUMsQ0FBQztBQUNOLENBQUM7QUFMRCw0Q0FLQztBQUVNLEtBQUssVUFBVSxxQkFBcUIsQ0FDekMsVUFBc0IsRUFDdEIsRUFBa0U7SUFFbEUsT0FBTyxNQUFNLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNwRyxDQUFDO0FBTEQsc0RBS0M7QUFFTSxLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLFVBQXNCLEVBQ3RCLEVBQXlDO0lBRXpDLElBQUk7UUFDRixPQUFPLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDOUU7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFDO0tBQ1g7QUFDSCxDQUFDO0FBVEQsOENBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIGJsb2NrYXBpcyBmcm9tICdAYml0Z28tYmV0YS9ibG9ja2FwaXMnO1xuaW1wb3J0IHsgY29pbnMsIFV0eG9Db2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGJpdGdvLWJldGEvYmxvY2thcGlzJztcbmltcG9ydCB7IFBhcnNlclR4IH0gZnJvbSAnLi9QYXJzZXJUeCc7XG5cbmZ1bmN0aW9uIGdldFR4T3V0UG9pbnRzKHR4OiBQYXJzZXJUeCk6IHV0eG9saWIuYml0Z28uVHhPdXRQb2ludFtdIHtcbiAgaWYgKHR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24pIHtcbiAgICByZXR1cm4gdHguaW5zLm1hcCgoaSkgPT4gdXR4b2xpYi5iaXRnby5nZXRPdXRwdXRJZEZvcklucHV0KGkpKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdHgudHhJbnB1dHMubWFwKChpKSA9PiB1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQoaSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldENvaW5OYW1lKG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IHN0cmluZyB7XG4gIGNvbnN0IG5ldHdvcmtOYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShuZXR3b3JrKTtcblxuICAvLyB0aGUgYml0Y29pbmNhc2ggbmV0d29yayBhY3R1YWxseSBoYXMgdHdvIGNvaW5zOiBiY2ggYW5kIGJjaGEgLSBoYXJkY29kZSBiY2ggYnkgZGVmYXVsdCBoZXJlXG4gIHN3aXRjaCAobmV0d29ya05hbWUpIHtcbiAgICBjYXNlICdiaXRjb2luY2FzaCc6XG4gICAgICByZXR1cm4gJ2JjaCc7XG4gICAgY2FzZSAnYml0Y29pbmNhc2hUZXN0bmV0JzpcbiAgICAgIHJldHVybiAndGJjaCc7XG4gIH1cblxuICBjb25zdCBtYXRjaGVzID0gWy4uLmNvaW5zXS5mbGF0TWFwKChbLCBjb2luXSkgPT5cbiAgICBjb2luIGluc3RhbmNlb2YgVXR4b0NvaW4gJiYgY29pbi5uZXR3b3JrLnV0eG9saWJOYW1lID09PSBuZXR3b3JrTmFtZSA/IFtjb2luLm5hbWVdIDogW11cbiAgKTtcbiAgc3dpdGNoIChtYXRjaGVzLmxlbmd0aCkge1xuICAgIGNhc2UgMDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbm8gY29pbiBmb3IgbmV0d29yayAke25ldHdvcmtOYW1lfWApO1xuICAgIGNhc2UgMTpcbiAgICAgIHJldHVybiBtYXRjaGVzWzBdO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG1vcmUgdGhhbiBvbmUgY29pbiBmb3IgJHtuZXR3b3JrTmFtZX06ICR7bWF0Y2hlc31gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBcGkoaHR0cENsaWVudDogSHR0cENsaWVudCwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogYmxvY2thcGlzLlV0eG9BcGkge1xuICBjb25zdCBjb2luTmFtZSA9IGdldENvaW5OYW1lKG5ldHdvcmspO1xuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAnYnRjJzpcbiAgICBjYXNlICd0YnRjJzpcbiAgICAgIHJldHVybiBibG9ja2FwaXMuQmxvY2tzdHJlYW1BcGkuZm9yQ29pbihjb2luTmFtZSwgeyBodHRwQ2xpZW50IH0pO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gYmxvY2thcGlzLkJsb2NrY2hhaXJBcGkuZm9yQ29pbihjb2luTmFtZSwgeyBodHRwQ2xpZW50IH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uSGV4KFxuICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICB0eGlkOiBzdHJpbmcsXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIGF3YWl0IGdldEFwaShodHRwQ2xpZW50LCBuZXR3b3JrKS5nZXRUcmFuc2FjdGlvbkhleCh0eGlkKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25TdGF0dXMoXG4gIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gIHR4aWQ6IHN0cmluZyxcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOiBQcm9taXNlPGJsb2NrYXBpcy5UcmFuc2FjdGlvblN0YXR1cz4ge1xuICByZXR1cm4gYXdhaXQgZ2V0QXBpKGh0dHBDbGllbnQsIG5ldHdvcmspLmdldFRyYW5zYWN0aW9uU3RhdHVzKHR4aWQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hQcmV2T3V0cHV0cyhodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCB0eDogUGFyc2VyVHgpOiBQcm9taXNlPHV0eG9saWIuVHhPdXRwdXQ8YmlnaW50PltdPiB7XG4gIHJldHVybiAoYXdhaXQgYmxvY2thcGlzLmZldGNoSW5wdXRzKGdldFR4T3V0UG9pbnRzKHR4KSwgZ2V0QXBpKGh0dHBDbGllbnQsIHR4Lm5ldHdvcmspLCB0eC5uZXR3b3JrKSkubWFwKCh2KSA9PiAoe1xuICAgIC4uLnYsXG4gICAgdmFsdWU6IEJpZ0ludCh2LnZhbHVlKSxcbiAgfSkpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hQcmV2T3V0cHV0U3BlbmRzKFxuICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50PiB8IHV0eG9saWIuYml0Z28uVXR4b1BzYnRcbik6IFByb21pc2U8YmxvY2thcGlzLk91dHB1dFNwZW5kW10+IHtcbiAgcmV0dXJuIGF3YWl0IGJsb2NrYXBpcy5mZXRjaFRyYW5zYWN0aW9uU3BlbmRzKGdldFR4T3V0UG9pbnRzKHR4KSwgZ2V0QXBpKGh0dHBDbGllbnQsIHR4Lm5ldHdvcmspKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoT3V0cHV0U3BlbmRzKFxuICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50PlxuKTogUHJvbWlzZTxibG9ja2FwaXMuT3V0cHV0U3BlbmRbXT4ge1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBnZXRBcGkoaHR0cENsaWVudCwgdHgubmV0d29yaykuZ2V0VHJhbnNhY3Rpb25TcGVuZHModHguZ2V0SWQoKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbn1cbiJdfQ==
96
+ async function getClient({ cache }) {
97
+ if (cache) {
98
+ const mkdir = (0, util_1.promisify)(fs.mkdir);
99
+ const dir = `${process.env.HOME}/.cache/utxo-bin/`;
100
+ await mkdir(dir, { recursive: true });
101
+ return new blockapis_1.CachingHttpClient(dir);
102
+ }
103
+ return new blockapis_1.BaseHttpClient();
104
+ }
105
+ exports.getClient = getClient;
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXlCO0FBQ3pCLG1DQUFtQztBQUNuQywrQkFBaUM7QUFFakMsZ0RBQWdEO0FBQ2hELG1EQUFtRDtBQUNuRCxxREFBaUg7QUFDakgsaURBQXNEO0FBSXRELFNBQVMsY0FBYyxDQUFDLEVBQVk7SUFDbEMsSUFBSSxFQUFFLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7UUFDL0MsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2hFO1NBQU07UUFDTCxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDckU7QUFDSCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsT0FBd0I7SUFDM0MsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVwRCw4RkFBOEY7SUFDOUYsUUFBUSxXQUFXLEVBQUU7UUFDbkIsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxvQkFBb0I7WUFDdkIsT0FBTyxNQUFNLENBQUM7S0FDakI7SUFFRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsZUFBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FDOUMsSUFBSSxZQUFZLGtCQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN4RixDQUFDO0lBQ0YsUUFBUSxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQ3RCLEtBQUssQ0FBQztZQUNKLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDeEQsS0FBSyxDQUFDO1lBQ0osT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEI7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixXQUFXLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQztLQUN4RTtBQUNILENBQUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxVQUFzQixFQUFFLE9BQXdCO0lBQzlELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxRQUFRLFFBQVEsRUFBRTtRQUNoQixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTTtZQUNULE9BQU8sU0FBUyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNwRTtZQUNFLE9BQU8sU0FBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztLQUNwRTtBQUNILENBQUM7QUFFTSxLQUFLLFVBQVUsbUJBQW1CLENBQ3ZDLFVBQXNCLEVBQ3RCLFFBSUMsRUFDRCxPQUF3QjtJQUV4QixRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztJQUU1RixJQUFJLFFBQVEsQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQ3hFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsSUFBSSxHQUFHLFlBQVksU0FBUyxDQUFDLGNBQWMsRUFBRTtZQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEscUNBQXlCLEVBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6RSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsUUFBUSxDQUFDLFdBQVcsYUFBYSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUN6RjtZQUNELE9BQU8sbUJBQW1CLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksd0JBQXdCLENBQUMsQ0FBQztLQUNqRjtJQUVELElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtRQUNqQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMxRTtRQUNELE9BQU8sTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUMzRTtJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ25FLENBQUM7QUFoQ0Qsa0RBZ0NDO0FBRU0sS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxVQUFzQixFQUN0QixJQUFZLEVBQ1osT0FBd0I7SUFFeEIsT0FBTyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQU5ELHdEQU1DO0FBRU0sS0FBSyxVQUFVLGdCQUFnQixDQUFDLFVBQXNCLEVBQUUsRUFBWTtJQUN6RSxPQUFPLENBQUMsTUFBTSxTQUFTLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0csR0FBRyxDQUFDO1FBQ0osS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0tBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUxELDRDQUtDO0FBRU0sS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxVQUFzQixFQUN0QixFQUFrRTtJQUVsRSxPQUFPLE1BQU0sU0FBUyxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3BHLENBQUM7QUFMRCxzREFLQztBQUVNLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsVUFBc0IsRUFDdEIsRUFBeUM7SUFFekMsSUFBSTtRQUNGLE9BQU8sTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUM5RTtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEUsT0FBTyxFQUFFLENBQUM7S0FDWDtBQUNILENBQUM7QUFWRCw4Q0FVQztBQUVNLEtBQUssVUFBVSxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQXNCO0lBQzNELElBQUksS0FBSyxFQUFFO1FBQ1QsTUFBTSxLQUFLLEdBQUcsSUFBQSxnQkFBUyxFQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxtQkFBbUIsQ0FBQztRQUNuRCxNQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksNkJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDbkM7SUFDRCxPQUFPLElBQUksMEJBQWMsRUFBRSxDQUFDO0FBQzlCLENBQUM7QUFSRCw4QkFRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHByb2Nlc3MgZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgKiBhcyBibG9ja2FwaXMgZnJvbSAnQGJpdGdvLWJldGEvYmxvY2thcGlzJztcbmltcG9ydCB7IEJhc2VIdHRwQ2xpZW50LCBDYWNoaW5nSHR0cENsaWVudCwgZ2V0VHJhbnNhY3Rpb25JZHNBdEhlaWdodCwgSHR0cENsaWVudCB9IGZyb20gJ0BiaXRnby1iZXRhL2Jsb2NrYXBpcyc7XG5pbXBvcnQgeyBjb2lucywgVXR4b0NvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuaW1wb3J0IHsgUGFyc2VyVHggfSBmcm9tICcuL1BhcnNlclR4JztcblxuZnVuY3Rpb24gZ2V0VHhPdXRQb2ludHModHg6IFBhcnNlclR4KTogdXR4b2xpYi5iaXRnby5UeE91dFBvaW50W10ge1xuICBpZiAodHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbikge1xuICAgIHJldHVybiB0eC5pbnMubWFwKChpKSA9PiB1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQoaSkpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eC50eElucHV0cy5tYXAoKGkpID0+IHV0eG9saWIuYml0Z28uZ2V0T3V0cHV0SWRGb3JJbnB1dChpKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Q29pbk5hbWUobmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogc3RyaW5nIHtcbiAgY29uc3QgbmV0d29ya05hbWUgPSB1dHhvbGliLmdldE5ldHdvcmtOYW1lKG5ldHdvcmspO1xuXG4gIC8vIHRoZSBiaXRjb2luY2FzaCBuZXR3b3JrIGFjdHVhbGx5IGhhcyB0d28gY29pbnM6IGJjaCBhbmQgYmNoYSAtIGhhcmRjb2RlIGJjaCBieSBkZWZhdWx0IGhlcmVcbiAgc3dpdGNoIChuZXR3b3JrTmFtZSkge1xuICAgIGNhc2UgJ2JpdGNvaW5jYXNoJzpcbiAgICAgIHJldHVybiAnYmNoJztcbiAgICBjYXNlICdiaXRjb2luY2FzaFRlc3RuZXQnOlxuICAgICAgcmV0dXJuICd0YmNoJztcbiAgfVxuXG4gIGNvbnN0IG1hdGNoZXMgPSBbLi4uY29pbnNdLmZsYXRNYXAoKFssIGNvaW5dKSA9PlxuICAgIGNvaW4gaW5zdGFuY2VvZiBVdHhvQ29pbiAmJiBjb2luLm5ldHdvcmsudXR4b2xpYk5hbWUgPT09IG5ldHdvcmtOYW1lID8gW2NvaW4ubmFtZV0gOiBbXVxuICApO1xuICBzd2l0Y2ggKG1hdGNoZXMubGVuZ3RoKSB7XG4gICAgY2FzZSAwOlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBubyBjb2luIGZvciBuZXR3b3JrICR7bmV0d29ya05hbWV9YCk7XG4gICAgY2FzZSAxOlxuICAgICAgcmV0dXJuIG1hdGNoZXNbMF07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbW9yZSB0aGFuIG9uZSBjb2luIGZvciAke25ldHdvcmtOYW1lfTogJHttYXRjaGVzfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEFwaShodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmspOiBibG9ja2FwaXMuVXR4b0FwaSB7XG4gIGNvbnN0IGNvaW5OYW1lID0gZ2V0Q29pbk5hbWUobmV0d29yayk7XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICdidGMnOlxuICAgIGNhc2UgJ3RidGMnOlxuICAgICAgcmV0dXJuIGJsb2NrYXBpcy5CbG9ja3N0cmVhbUFwaS5mb3JDb2luKGNvaW5OYW1lLCB7IGh0dHBDbGllbnQgfSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBibG9ja2FwaXMuQmxvY2tjaGFpckFwaS5mb3JDb2luKGNvaW5OYW1lLCB7IGh0dHBDbGllbnQgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25IZXgoXG4gIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gIGxvY2F0aW9uOiB7XG4gICAgdHhpZD86IHN0cmluZztcbiAgICBibG9ja0hlaWdodD86IG51bWJlcjtcbiAgICB0eEluZGV4PzogbnVtYmVyO1xuICB9LFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGxvY2F0aW9uID0gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGxvY2F0aW9uKS5maWx0ZXIoKFtrLCB2XSkgPT4gdiAhPT0gdW5kZWZpbmVkKSk7XG5cbiAgaWYgKGxvY2F0aW9uLmJsb2NrSGVpZ2h0ICE9PSB1bmRlZmluZWQgJiYgbG9jYXRpb24udHhJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgYXBpID0gZ2V0QXBpKGh0dHBDbGllbnQsIG5ldHdvcmspO1xuICAgIGlmIChhcGkgaW5zdGFuY2VvZiBibG9ja2FwaXMuQmxvY2tzdHJlYW1BcGkpIHtcbiAgICAgIGNvbnN0IHR4aWRzID0gYXdhaXQgZ2V0VHJhbnNhY3Rpb25JZHNBdEhlaWdodChhcGksIGxvY2F0aW9uLmJsb2NrSGVpZ2h0KTtcbiAgICAgIGNvbnN0IHR4aWQgPSB0eGlkc1tsb2NhdGlvbi50eEluZGV4XTtcbiAgICAgIGlmICghdHhpZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYG5vIHR4IGF0IGhlaWdodCAke2xvY2F0aW9uLmJsb2NrSGVpZ2h0fSBwb3NpdGlvbiAke2xvY2F0aW9uLnR4SW5kZXh9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmV0Y2hUcmFuc2FjdGlvbkhleChodHRwQ2xpZW50LCB7IHR4aWQgfSwgbmV0d29yayk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgY2Fubm90IHVzZSBhcGkgJHthcGkuY29uc3RydWN0b3IubmFtZX0gdG8gZmV0Y2ggdHggYnkgaGVpZ2h0YCk7XG4gIH1cblxuICBpZiAobG9jYXRpb24udHhpZCkge1xuICAgIGlmIChPYmplY3Qua2V5cyhsb2NhdGlvbikubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjYW5ub3Qgc3BlY2lmeSBib3RoIHR4aWQgYW5kICR7T2JqZWN0LmtleXMobG9jYXRpb24pfWApO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgZ2V0QXBpKGh0dHBDbGllbnQsIG5ldHdvcmspLmdldFRyYW5zYWN0aW9uSGV4KGxvY2F0aW9uLnR4aWQpO1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIGxvY2F0aW9uOiAke0pTT04uc3RyaW5naWZ5KGxvY2F0aW9uKX1gKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25TdGF0dXMoXG4gIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gIHR4aWQ6IHN0cmluZyxcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOiBQcm9taXNlPGJsb2NrYXBpcy5UcmFuc2FjdGlvblN0YXR1cz4ge1xuICByZXR1cm4gYXdhaXQgZ2V0QXBpKGh0dHBDbGllbnQsIG5ldHdvcmspLmdldFRyYW5zYWN0aW9uU3RhdHVzKHR4aWQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hQcmV2T3V0cHV0cyhodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCB0eDogUGFyc2VyVHgpOiBQcm9taXNlPHV0eG9saWIuVHhPdXRwdXQ8YmlnaW50PltdPiB7XG4gIHJldHVybiAoYXdhaXQgYmxvY2thcGlzLmZldGNoSW5wdXRzKGdldFR4T3V0UG9pbnRzKHR4KSwgZ2V0QXBpKGh0dHBDbGllbnQsIHR4Lm5ldHdvcmspLCB0eC5uZXR3b3JrKSkubWFwKCh2KSA9PiAoe1xuICAgIC4uLnYsXG4gICAgdmFsdWU6IEJpZ0ludCh2LnZhbHVlKSxcbiAgfSkpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hQcmV2T3V0cHV0U3BlbmRzKFxuICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50PiB8IHV0eG9saWIuYml0Z28uVXR4b1BzYnRcbik6IFByb21pc2U8YmxvY2thcGlzLk91dHB1dFNwZW5kW10+IHtcbiAgcmV0dXJuIGF3YWl0IGJsb2NrYXBpcy5mZXRjaFRyYW5zYWN0aW9uU3BlbmRzKGdldFR4T3V0UG9pbnRzKHR4KSwgZ2V0QXBpKGh0dHBDbGllbnQsIHR4Lm5ldHdvcmspKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoT3V0cHV0U3BlbmRzKFxuICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50PlxuKTogUHJvbWlzZTxibG9ja2FwaXMuT3V0cHV0U3BlbmRbXT4ge1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBnZXRBcGkoaHR0cENsaWVudCwgdHgubmV0d29yaykuZ2V0VHJhbnNhY3Rpb25TcGVuZHModHguZ2V0SWQoKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGBlcnJvciBmZXRjaGluZyBzcGVuZHMgZm9yIHR4ICR7dHguZ2V0SWQoKX06ICR7ZX1gKTtcbiAgICByZXR1cm4gW107XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENsaWVudCh7IGNhY2hlIH06IHsgY2FjaGU6IGJvb2xlYW4gfSk6IFByb21pc2U8SHR0cENsaWVudD4ge1xuICBpZiAoY2FjaGUpIHtcbiAgICBjb25zdCBta2RpciA9IHByb21pc2lmeShmcy5ta2Rpcik7XG4gICAgY29uc3QgZGlyID0gYCR7cHJvY2Vzcy5lbnYuSE9NRX0vLmNhY2hlL3V0eG8tYmluL2A7XG4gICAgYXdhaXQgbWtkaXIoZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICByZXR1cm4gbmV3IENhY2hpbmdIdHRwQ2xpZW50KGRpcik7XG4gIH1cbiAgcmV0dXJuIG5ldyBCYXNlSHR0cENsaWVudCgpO1xufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAIvD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,UAAU,CACxB,CAAC,EAAE,UAAU,EACb,EAAE,IAAkB,EAAE,KAAsB,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAO,GACtF,MAAM,CAqCR"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAIvD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,UAAU,CACxB,CAAC,EAAE,UAAU,EACb,EAAE,IAAkB,EAAE,KAAsB,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAO,GACtF,MAAM,CAgDR"}
@@ -9,9 +9,14 @@ function formatSat(v) {
9
9
  }
10
10
  exports.formatSat = formatSat;
11
11
  function formatTree(n, { hide = hideDefault, chalk = new chalk_1.Instance() } = {}) {
12
- function getLabel(label, v) {
12
+ function getLabel(label, v, { showUndefined } = { showUndefined: false }) {
13
13
  const arr = [chalk.bold(label)];
14
- if (v !== undefined) {
14
+ if (v === undefined) {
15
+ if (showUndefined) {
16
+ arr.push(chalk.dim('undefined'));
17
+ }
18
+ }
19
+ else {
15
20
  arr.push(String(v));
16
21
  }
17
22
  return arr.join(': ');
@@ -30,18 +35,22 @@ function formatTree(n, { hide = hideDefault, chalk = new chalk_1.Instance() } =
30
35
  return String(v);
31
36
  }
32
37
  if (Buffer.isBuffer(v)) {
33
- return v.length === 0 ? '[]' : v.toString('hex');
38
+ return `${v.toString('hex')} ${chalk.dim(`(${v.length} bytes)`)}`;
39
+ }
40
+ if (v instanceof Uint8Array) {
41
+ return getLabelFromValue(Buffer.from(v));
34
42
  }
35
43
  }
36
44
  throw new Error(`could not get label from value ${typeof v}`);
37
45
  }
38
46
  function toArchy(n) {
47
+ var _a;
39
48
  return {
40
- label: getLabel(n.label, getLabelFromValue(n.value)),
49
+ label: getLabel(n.label, getLabelFromValue(n.value), { showUndefined: !Boolean((_a = n.nodes) === null || _a === void 0 ? void 0 : _a.length) }),
41
50
  nodes: n.nodes ? n.nodes.flatMap((e) => (hide.includes(e.label) ? [] : [toArchy(e)])) : undefined,
42
51
  };
43
52
  }
44
53
  return archy(toArchy(n));
45
54
  }
46
55
  exports.formatTree = formatTree;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBd0M7QUFDeEMsK0JBQStCO0FBRy9CLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLFNBQWdCLFNBQVMsQ0FBQyxDQUFrQjtJQUMxQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRkQsOEJBRUM7QUFFRCxTQUFnQixVQUFVLENBQ3hCLENBQWEsRUFDYixFQUFFLElBQUksR0FBRyxXQUFXLEVBQUUsS0FBSyxHQUFHLElBQUksZ0JBQVEsRUFBRSxLQUF5QyxFQUFFO0lBRXZGLFNBQVMsUUFBUSxDQUFDLEtBQXNCLEVBQUUsQ0FBVztRQUNuRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDbkIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxpQkFBaUIsQ0FBQyxDQUFrQjtRQUMzQyxRQUFRLE9BQU8sQ0FBQyxFQUFFO1lBQ2hCLEtBQUssV0FBVztnQkFDZCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDZCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbEI7Z0JBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN0QixPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xEO1NBQ0o7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFNBQVMsT0FBTyxDQUFDLENBQWE7UUFDNUIsT0FBTztZQUNMLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ2xHLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQXhDRCxnQ0F3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFsaywgSW5zdGFuY2UgfSBmcm9tICdjaGFsayc7XG5pbXBvcnQgKiBhcyBhcmNoeSBmcm9tICdhcmNoeSc7XG5pbXBvcnQgeyBQYXJzZXJOb2RlLCBQYXJzZXJOb2RlVmFsdWUgfSBmcm9tICcuL1BhcnNlcic7XG5cbmNvbnN0IGhpZGVEZWZhdWx0ID0gWydwdWJrZXlzJywgJ3NlcXVlbmNlJywgJ2xvY2t0aW1lJywgJ3NjcmlwdFNpZycsICd3aXRuZXNzJ107XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRTYXQodjogbnVtYmVyIHwgYmlnaW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIChOdW1iZXIodikgLyAxZTgpLnRvRml4ZWQoOCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUcmVlKFxuICBuOiBQYXJzZXJOb2RlLFxuICB7IGhpZGUgPSBoaWRlRGVmYXVsdCwgY2hhbGsgPSBuZXcgSW5zdGFuY2UoKSB9OiB7IGhpZGU/OiBzdHJpbmdbXTsgY2hhbGs/OiBDaGFsayB9ID0ge31cbik6IHN0cmluZyB7XG4gIGZ1bmN0aW9uIGdldExhYmVsKGxhYmVsOiBzdHJpbmcgfCBudW1iZXIsIHY/OiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcnIgPSBbY2hhbGsuYm9sZChsYWJlbCldO1xuICAgIGlmICh2ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyci5wdXNoKFN0cmluZyh2KSk7XG4gICAgfVxuICAgIHJldHVybiBhcnIuam9pbignOiAnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldExhYmVsRnJvbVZhbHVlKHY6IFBhcnNlck5vZGVWYWx1ZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoICh0eXBlb2Ygdikge1xuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBjYXNlICdiaWdpbnQnOlxuICAgICAgICByZXR1cm4gU3RyaW5nKHYpO1xuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgaWYgKHYgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gU3RyaW5nKHYpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIodikpIHtcbiAgICAgICAgICByZXR1cm4gdi5sZW5ndGggPT09IDAgPyAnW10nIDogdi50b1N0cmluZygnaGV4Jyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBjb3VsZCBub3QgZ2V0IGxhYmVsIGZyb20gdmFsdWUgJHt0eXBlb2Ygdn1gKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRvQXJjaHkobjogUGFyc2VyTm9kZSk6IGFyY2h5LkRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogZ2V0TGFiZWwobi5sYWJlbCwgZ2V0TGFiZWxGcm9tVmFsdWUobi52YWx1ZSkpLFxuICAgICAgbm9kZXM6IG4ubm9kZXMgPyBuLm5vZGVzLmZsYXRNYXAoKGUpID0+IChoaWRlLmluY2x1ZGVzKGUubGFiZWwpID8gW10gOiBbdG9BcmNoeShlKV0pKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGFyY2h5KHRvQXJjaHkobikpO1xufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBd0M7QUFDeEMsK0JBQStCO0FBSS9CLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLFNBQWdCLFNBQVMsQ0FBQyxDQUFrQjtJQUMxQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRkQsOEJBRUM7QUFFRCxTQUFnQixVQUFVLENBQ3hCLENBQWEsRUFDYixFQUFFLElBQUksR0FBRyxXQUFXLEVBQUUsS0FBSyxHQUFHLElBQUksZ0JBQVEsRUFBRSxLQUF5QyxFQUFFO0lBRXZGLFNBQVMsUUFBUSxDQUNmLEtBQXNCLEVBQ3RCLENBQVcsRUFDWCxFQUFFLGFBQWEsS0FBaUMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFO1FBRXhFLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNuQixJQUFJLGFBQWEsRUFBRTtnQkFDakIsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7YUFDbEM7U0FDRjthQUFNO1lBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxpQkFBaUIsQ0FBQyxDQUFrQjtRQUMzQyxRQUFRLE9BQU8sQ0FBQyxFQUFFO1lBQ2hCLEtBQUssV0FBVztnQkFDZCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDZCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbEI7Z0JBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN0QixPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sU0FBUyxDQUFDLEVBQUUsQ0FBQztpQkFDbkU7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksVUFBVSxFQUFFO29CQUMzQixPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDMUM7U0FDSjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsU0FBUyxPQUFPLENBQUMsQ0FBYTs7UUFDNUIsT0FBTztZQUNMLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBQSxDQUFDLENBQUMsS0FBSywwQ0FBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2xHLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNsRyxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFuREQsZ0NBbURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbGssIEluc3RhbmNlIH0gZnJvbSAnY2hhbGsnO1xuaW1wb3J0ICogYXMgYXJjaHkgZnJvbSAnYXJjaHknO1xuXG5pbXBvcnQgeyBQYXJzZXJOb2RlLCBQYXJzZXJOb2RlVmFsdWUgfSBmcm9tICcuL1BhcnNlcic7XG5cbmNvbnN0IGhpZGVEZWZhdWx0ID0gWydwdWJrZXlzJywgJ3NlcXVlbmNlJywgJ2xvY2t0aW1lJywgJ3NjcmlwdFNpZycsICd3aXRuZXNzJ107XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRTYXQodjogbnVtYmVyIHwgYmlnaW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIChOdW1iZXIodikgLyAxZTgpLnRvRml4ZWQoOCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUcmVlKFxuICBuOiBQYXJzZXJOb2RlLFxuICB7IGhpZGUgPSBoaWRlRGVmYXVsdCwgY2hhbGsgPSBuZXcgSW5zdGFuY2UoKSB9OiB7IGhpZGU/OiBzdHJpbmdbXTsgY2hhbGs/OiBDaGFsayB9ID0ge31cbik6IHN0cmluZyB7XG4gIGZ1bmN0aW9uIGdldExhYmVsKFxuICAgIGxhYmVsOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgdj86IHVua25vd24sXG4gICAgeyBzaG93VW5kZWZpbmVkIH06IHsgc2hvd1VuZGVmaW5lZDogYm9vbGVhbiB9ID0geyBzaG93VW5kZWZpbmVkOiBmYWxzZSB9XG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgYXJyID0gW2NoYWxrLmJvbGQobGFiZWwpXTtcbiAgICBpZiAodiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoc2hvd1VuZGVmaW5lZCkge1xuICAgICAgICBhcnIucHVzaChjaGFsay5kaW0oJ3VuZGVmaW5lZCcpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYXJyLnB1c2goU3RyaW5nKHYpKTtcbiAgICB9XG4gICAgcmV0dXJuIGFyci5qb2luKCc6ICcpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TGFiZWxGcm9tVmFsdWUodjogUGFyc2VyTm9kZVZhbHVlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2KSB7XG4gICAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGNhc2UgJ2JpZ2ludCc6XG4gICAgICAgIHJldHVybiBTdHJpbmcodik7XG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICBpZiAodiA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcodik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2KSkge1xuICAgICAgICAgIHJldHVybiBgJHt2LnRvU3RyaW5nKCdoZXgnKX0gJHtjaGFsay5kaW0oYCgke3YubGVuZ3RofSBieXRlcylgKX1gO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2IGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgICAgICAgIHJldHVybiBnZXRMYWJlbEZyb21WYWx1ZShCdWZmZXIuZnJvbSh2KSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBjb3VsZCBub3QgZ2V0IGxhYmVsIGZyb20gdmFsdWUgJHt0eXBlb2Ygdn1gKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRvQXJjaHkobjogUGFyc2VyTm9kZSk6IGFyY2h5LkRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogZ2V0TGFiZWwobi5sYWJlbCwgZ2V0TGFiZWxGcm9tVmFsdWUobi52YWx1ZSksIHsgc2hvd1VuZGVmaW5lZDogIUJvb2xlYW4obi5ub2Rlcz8ubGVuZ3RoKSB9KSxcbiAgICAgIG5vZGVzOiBuLm5vZGVzID8gbi5ub2Rlcy5mbGF0TWFwKChlKSA9PiAoaGlkZS5pbmNsdWRlcyhlLmxhYmVsKSA/IFtdIDogW3RvQXJjaHkoZSldKSkgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBhcmNoeSh0b0FyY2h5KG4pKTtcbn1cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { KeyOptions } from './args';
3
+ type FixedScriptAddressProperties = {
4
+ chain: utxolib.bitgo.ChainCode;
5
+ index: number;
6
+ type: utxolib.bitgo.outputScripts.ScriptType;
7
+ userPath: string;
8
+ backupPath: string;
9
+ bitgoPath: string;
10
+ userKey: string;
11
+ backupKey: string;
12
+ bitgoKey: string;
13
+ redeemScript?: string;
14
+ witnessScript?: string;
15
+ scriptPubKey: string;
16
+ address: string;
17
+ };
18
+ export declare function getAsPlaceholderDescription(v: Record<string, string>): string;
19
+ export declare function getFixedScriptAddressPlaceholderDescription(): string;
20
+ export declare function formatAddressTree(props: FixedScriptAddressProperties | DescriptorAddressProperties): string;
21
+ export declare function formatAddressWithFormatString(props: Record<string, unknown>, placeholders: Record<string, string>, format: string): string;
22
+ export declare function formatFixedScriptAddress(props: FixedScriptAddressProperties, format: string): string;
23
+ export declare function getRange(start: number, end: number): number[];
24
+ export declare function parseIndexRange(ranges: string[]): number[];
25
+ export declare function generateFixedScriptAddress(argv: KeyOptions & {
26
+ network?: utxolib.Network;
27
+ chain?: number[];
28
+ format: string;
29
+ index: number[];
30
+ }): Generator<FixedScriptAddressProperties>;
31
+ type DescriptorAddressProperties = {
32
+ descriptor: string;
33
+ index: number;
34
+ explicitScript: string;
35
+ scriptPubKey: string;
36
+ address: string;
37
+ };
38
+ export declare function getDescriptorAddressPlaceholderDescription(): string;
39
+ export declare function formatDescriptorAddress(props: DescriptorAddressProperties, format: string): string;
40
+ export declare function generateDescriptorAddress(argv: {
41
+ network: utxolib.Network;
42
+ descriptor: string;
43
+ format: string;
44
+ index: number[];
45
+ }): Generator<DescriptorAddressProperties>;
46
+ export {};
47
+ //# sourceMappingURL=generateAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateAddress.d.ts","sourceRoot":"","sources":["../../src/generateAddress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAMhD,OAAO,EAAE,UAAU,EAAqB,MAAM,QAAQ,CAAC;AASvD,KAAK,4BAA4B,GAAG;IAClC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAmBF,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAI7E;AAED,wBAAgB,2CAA2C,IAAI,MAAM,CAEpE;AA6BD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,4BAA4B,GAAG,2BAA2B,GAAG,MAAM,CAG3G;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpG;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAE7D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ1D;AAED,wBAAiB,0BAA0B,CACzC,IAAI,EAAE,UAAU,GAAG;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GACA,SAAS,CAAC,4BAA4B,CAAC,CAUzC;AAED,KAAK,2BAA2B,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAUF,wBAAgB,0CAA0C,IAAI,MAAM,CAEnE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAElG;AAED,wBAAiB,yBAAyB,CAAC,IAAI,EAAE;IAC/C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,SAAS,CAAC,2BAA2B,CAAC,CAezC"}