@bitgo-beta/utxo-bin 2.8.3-beta.93 → 2.8.3-beta.931

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 (138) hide show
  1. package/README.md +4 -4
  2. package/dist/bin/index.js +5 -3
  3. package/dist/src/AddressParser.d.ts +0 -1
  4. package/dist/src/AddressParser.d.ts.map +1 -1
  5. package/dist/src/AddressParser.js +13 -7
  6. package/dist/src/InputParser.d.ts +1 -2
  7. package/dist/src/InputParser.d.ts.map +1 -1
  8. package/dist/src/InputParser.js +32 -22
  9. package/dist/src/OutputParser.d.ts +3 -3
  10. package/dist/src/OutputParser.d.ts.map +1 -1
  11. package/dist/src/OutputParser.js +18 -5
  12. package/dist/src/Parser.d.ts +3 -3
  13. package/dist/src/Parser.d.ts.map +1 -1
  14. package/dist/src/Parser.js +12 -5
  15. package/dist/src/ParserTx.d.ts +3 -4
  16. package/dist/src/ParserTx.d.ts.map +1 -1
  17. package/dist/src/ParserTx.js +7 -8
  18. package/dist/src/ScriptParser.d.ts +8 -6
  19. package/dist/src/ScriptParser.d.ts.map +1 -1
  20. package/dist/src/ScriptParser.js +27 -8
  21. package/dist/src/TxParser.d.ts +3 -2
  22. package/dist/src/TxParser.d.ts.map +1 -1
  23. package/dist/src/TxParser.js +10 -10
  24. package/dist/src/args/format.d.ts +8 -0
  25. package/dist/src/args/format.d.ts.map +1 -0
  26. package/dist/src/args/format.js +15 -0
  27. package/dist/src/args/index.d.ts +5 -0
  28. package/dist/src/args/index.d.ts.map +1 -0
  29. package/dist/src/args/index.js +21 -0
  30. package/dist/src/args/parseNetwork.d.ts +25 -0
  31. package/dist/src/args/parseNetwork.d.ts.map +1 -0
  32. package/dist/src/args/parseNetwork.js +75 -0
  33. package/dist/src/args/parseString.d.ts +40 -0
  34. package/dist/src/args/parseString.d.ts.map +1 -0
  35. package/dist/src/args/parseString.js +120 -0
  36. package/dist/src/args/walletKeys.d.ts +38 -0
  37. package/dist/src/args/walletKeys.d.ts.map +1 -0
  38. package/dist/src/args/walletKeys.js +28 -0
  39. package/dist/src/bip32.d.ts +5 -0
  40. package/dist/src/bip32.d.ts.map +1 -0
  41. package/dist/src/bip32.js +23 -0
  42. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts +21 -0
  43. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts.map +1 -0
  44. package/dist/src/commands/cmdAddress/cmdGenerate.js +89 -0
  45. package/dist/src/commands/cmdAddress/cmdParse.d.ts +20 -0
  46. package/dist/src/commands/cmdAddress/cmdParse.d.ts.map +1 -0
  47. package/dist/src/commands/cmdAddress/cmdParse.js +28 -0
  48. package/dist/src/commands/cmdAddress/index.d.ts +3 -0
  49. package/dist/src/commands/cmdAddress/index.d.ts.map +1 -0
  50. package/dist/src/commands/cmdAddress/index.js +16 -0
  51. package/dist/src/commands/cmdBip32.d.ts +16 -0
  52. package/dist/src/commands/cmdBip32.d.ts.map +1 -0
  53. package/dist/src/commands/cmdBip32.js +45 -0
  54. package/dist/src/commands/cmdParseScript.d.ts +18 -0
  55. package/dist/src/commands/cmdParseScript.d.ts.map +1 -0
  56. package/dist/src/commands/cmdParseScript.js +27 -0
  57. package/dist/src/commands/cmdParseTx.d.ts +30 -0
  58. package/dist/src/commands/cmdParseTx.d.ts.map +1 -0
  59. package/dist/src/commands/cmdParseTx.js +120 -0
  60. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts +13 -0
  61. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts.map +1 -0
  62. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.js +67 -0
  63. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts +11 -0
  64. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts.map +1 -0
  65. package/dist/src/commands/cmdPsbt/cmdAddOutput.js +89 -0
  66. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts +9 -0
  67. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts.map +1 -0
  68. package/dist/src/commands/cmdPsbt/cmdCreate.js +23 -0
  69. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts +11 -0
  70. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts.map +1 -0
  71. package/dist/src/commands/cmdPsbt/cmdFinalize.js +43 -0
  72. package/dist/src/commands/cmdPsbt/cmdSign.d.ts +7 -0
  73. package/dist/src/commands/cmdPsbt/cmdSign.d.ts.map +1 -0
  74. package/dist/src/commands/cmdPsbt/cmdSign.js +24 -0
  75. package/dist/src/commands/cmdPsbt/index.d.ts +8 -0
  76. package/dist/src/commands/cmdPsbt/index.d.ts.map +1 -0
  77. package/dist/src/commands/cmdPsbt/index.js +27 -0
  78. package/dist/src/commands/cmdPsbt/withPsbt.d.ts +63 -0
  79. package/dist/src/commands/cmdPsbt/withPsbt.d.ts.map +1 -0
  80. package/dist/src/commands/cmdPsbt/withPsbt.js +66 -0
  81. package/dist/src/commands/cmdPsbt/wrap.d.ts +5 -0
  82. package/dist/src/commands/cmdPsbt/wrap.d.ts.map +1 -0
  83. package/dist/src/commands/cmdPsbt/wrap.js +27 -0
  84. package/dist/src/commands/formatString.d.ts +8 -0
  85. package/dist/src/commands/formatString.d.ts.map +1 -0
  86. package/dist/src/commands/formatString.js +14 -0
  87. package/dist/src/commands/index.d.ts +6 -0
  88. package/dist/src/commands/index.d.ts.map +1 -0
  89. package/dist/src/commands/index.js +22 -0
  90. package/dist/src/ecdsa.d.ts +1 -2
  91. package/dist/src/ecdsa.d.ts.map +1 -1
  92. package/dist/src/ecdsa.js +9 -9
  93. package/dist/src/fetch.d.ts +8 -1
  94. package/dist/src/fetch.d.ts.map +1 -1
  95. package/dist/src/fetch.js +42 -9
  96. package/dist/src/format.d.ts.map +1 -1
  97. package/dist/src/format.js +4 -6
  98. package/dist/src/generateAddress.d.ts +24 -9
  99. package/dist/src/generateAddress.d.ts.map +1 -1
  100. package/dist/src/generateAddress.js +60 -23
  101. package/dist/src/hollowSegwitSpend.d.ts +1 -1
  102. package/dist/src/hollowSegwitSpend.d.ts.map +1 -1
  103. package/dist/src/hollowSegwitSpend.js +3 -4
  104. package/dist/src/parseUnknown.js +4 -5
  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 +13 -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 +11 -12
  119. package/dist/test/generateAddress.js +29 -12
  120. package/dist/test/parseAddress.d.ts +1 -5
  121. package/dist/test/parseAddress.d.ts.map +1 -1
  122. package/dist/test/parseAddress.js +15 -19
  123. package/dist/test/parseScript.js +10 -7
  124. package/dist/test/parseTransaction.js +11 -10
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/package.json +8 -7
  127. package/dist/src/commands.d.ts +0 -78
  128. package/dist/src/commands.d.ts.map +0 -1
  129. package/dist/src/commands.js +0 -284
  130. package/dist/src/parseString.d.ts +0 -5
  131. package/dist/src/parseString.d.ts.map +0 -1
  132. package/dist/src/parseString.js +0 -29
  133. package/dist/src/readStdin.d.ts +0 -5
  134. package/dist/src/readStdin.d.ts.map +0 -1
  135. package/dist/src/readStdin.js +0 -42
  136. package/dist/test/stringToBuffer.d.ts.map +0 -1
  137. package/dist/test/stringToBuffer.js +0 -16
  138. /package/dist/test/{stringToBuffer.d.ts → args/stringToBuffer.d.ts} +0 -0
@@ -0,0 +1,21 @@
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("./parseString"), exports);
18
+ __exportStar(require("./walletKeys"), exports);
19
+ __exportStar(require("./parseNetwork"), exports);
20
+ __exportStar(require("./format"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQThCO0FBQzlCLCtDQUE2QjtBQUM3QixpREFBK0I7QUFDL0IsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXJzZVN0cmluZyc7XG5leHBvcnQgKiBmcm9tICcuL3dhbGxldEtleXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJzZU5ldHdvcmsnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQnO1xuIl19
@@ -0,0 +1,25 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ export declare const bitcoinRegtest: utxolib.Network;
3
+ export declare function getNetworkForName(name: string): utxolib.Network;
4
+ export declare function getNetworkName(network: utxolib.Network): string;
5
+ export declare function getNetworkList(): utxolib.Network[];
6
+ export declare function getNetwork(argv: {
7
+ network: string;
8
+ }): utxolib.Network;
9
+ type DemandOption<T> = T & {
10
+ demandOption: true;
11
+ };
12
+ type NetworkOption<TDefault> = {
13
+ type: 'string';
14
+ description: string;
15
+ default: TDefault;
16
+ coerce: (arg: string) => utxolib.Network;
17
+ };
18
+ export declare function getNetworkOptions(defaultValue?: string): {
19
+ network: NetworkOption<typeof defaultValue>;
20
+ };
21
+ export declare function getNetworkOptionsDemand(defaultValue?: string): {
22
+ network: DemandOption<NetworkOption<typeof defaultValue>>;
23
+ };
24
+ export {};
25
+ //# sourceMappingURL=parseNetwork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNetwork.d.ts","sourceRoot":"","sources":["../../../src/args/parseNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,OAGpC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAS/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAK/D;AA0BD,wBAAgB,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAIlD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAErE;AAED,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,YAAY,EAAE,IAAI,CAAA;CAAE,CAAC;AAElD,KAAK,aAAa,CAAC,QAAQ,IAAI;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG;IACxD,OAAO,EAAE,aAAa,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C,CASA;AAED,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG;IAC9D,OAAO,EAAE,YAAY,CAAC,aAAa,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;CAC3D,CAIA"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bitcoinRegtest = void 0;
4
+ exports.getNetworkForName = getNetworkForName;
5
+ exports.getNetworkName = getNetworkName;
6
+ exports.getNetworkList = getNetworkList;
7
+ exports.getNetwork = getNetwork;
8
+ exports.getNetworkOptions = getNetworkOptions;
9
+ exports.getNetworkOptionsDemand = getNetworkOptionsDemand;
10
+ const utxolib = require("@bitgo-beta/utxo-lib");
11
+ const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
12
+ exports.bitcoinRegtest = {
13
+ ...utxolib.networks.testnet,
14
+ bech32: 'bcrt',
15
+ };
16
+ function getNetworkForName(name) {
17
+ if (name === 'bitcoinRegtest') {
18
+ return exports.bitcoinRegtest;
19
+ }
20
+ const network = utxolib.networks[name];
21
+ if (!network) {
22
+ throw new Error(`invalid network ${name}`);
23
+ }
24
+ return network;
25
+ }
26
+ function getNetworkName(network) {
27
+ if (network === exports.bitcoinRegtest) {
28
+ return 'bitcoinRegtest';
29
+ }
30
+ return utxolib.getNetworkName(network);
31
+ }
32
+ const networkOrder = [
33
+ utxolib.networks.bitcoin,
34
+ utxolib.networks.bitcoincash,
35
+ utxolib.networks.bitcoingold,
36
+ utxolib.networks.bitcoinsv,
37
+ utxolib.networks.dash,
38
+ utxolib.networks.dogecoin,
39
+ utxolib.networks.ecash,
40
+ utxolib.networks.litecoin,
41
+ utxolib.networks.zcash,
42
+ ];
43
+ function getNetworkOrderIndex(network) {
44
+ if (network === exports.bitcoinRegtest) {
45
+ network = utxolib.networks.bitcoin;
46
+ }
47
+ network = (0, utxo_lib_1.getMainnet)(network);
48
+ const index = networkOrder.indexOf(network);
49
+ if (index === -1) {
50
+ throw new Error(`unknown network ${network}`);
51
+ }
52
+ return index;
53
+ }
54
+ function getNetworkList() {
55
+ return [...utxolib.getNetworkList(), exports.bitcoinRegtest].sort((a, b) => getNetworkOrderIndex(a) - getNetworkOrderIndex(b) || getNetworkName(a).localeCompare(getNetworkName(b)));
56
+ }
57
+ function getNetwork(argv) {
58
+ return getNetworkForName(argv.network);
59
+ }
60
+ function getNetworkOptions(defaultValue) {
61
+ return {
62
+ network: {
63
+ type: 'string',
64
+ description: 'network name',
65
+ default: defaultValue,
66
+ coerce: getNetworkForName,
67
+ },
68
+ };
69
+ }
70
+ function getNetworkOptionsDemand(defaultValue) {
71
+ return {
72
+ network: { ...getNetworkOptions(defaultValue).network, demandOption: true },
73
+ };
74
+ }
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VOZXR3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyZ3MvcGFyc2VOZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLDhDQVNDO0FBRUQsd0NBS0M7QUEwQkQsd0NBSUM7QUFFRCxnQ0FFQztBQVdELDhDQVdDO0FBRUQsMERBTUM7QUF4RkQsZ0RBQWdEO0FBQ2hELG1EQUFrRDtBQUVyQyxRQUFBLGNBQWMsR0FBb0I7SUFDN0MsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87SUFDM0IsTUFBTSxFQUFFLE1BQU07Q0FDZixDQUFDO0FBRUYsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLElBQUksS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlCLE9BQU8sc0JBQWMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUEyQixDQUFDLENBQUM7SUFDOUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxPQUF3QjtJQUNyRCxJQUFJLE9BQU8sS0FBSyxzQkFBYyxFQUFFLENBQUM7UUFDL0IsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBVyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFlBQVksR0FBRztJQUNuQixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87SUFDeEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXO0lBQzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVM7SUFDMUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJO0lBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUN6QixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUs7SUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztDQUN2QixDQUFDO0FBRUYsU0FBUyxvQkFBb0IsQ0FBQyxPQUF3QjtJQUNwRCxJQUFJLE9BQU8sS0FBSyxzQkFBYyxFQUFFLENBQUM7UUFDL0IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPLEdBQUcsSUFBQSxxQkFBVSxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFnQixjQUFjO0lBQzVCLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxzQkFBYyxDQUFDLENBQUMsSUFBSSxDQUN2RCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xILENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQXlCO0lBQ2xELE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFXRCxTQUFnQixpQkFBaUIsQ0FBQyxZQUFxQjtJQUdyRCxPQUFPO1FBQ0wsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsY0FBYztZQUMzQixPQUFPLEVBQUUsWUFBWTtZQUNyQixNQUFNLEVBQUUsaUJBQWlCO1NBQzFCO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxZQUFxQjtJQUczRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtLQUM1RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgZ2V0TWFpbm5ldCB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuZXhwb3J0IGNvbnN0IGJpdGNvaW5SZWd0ZXN0OiB1dHhvbGliLk5ldHdvcmsgPSB7XG4gIC4uLnV0eG9saWIubmV0d29ya3MudGVzdG5ldCxcbiAgYmVjaDMyOiAnYmNydCcsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya0Zvck5hbWUobmFtZTogc3RyaW5nKTogdXR4b2xpYi5OZXR3b3JrIHtcbiAgaWYgKG5hbWUgPT09ICdiaXRjb2luUmVndGVzdCcpIHtcbiAgICByZXR1cm4gYml0Y29pblJlZ3Rlc3Q7XG4gIH1cbiAgY29uc3QgbmV0d29yayA9IHV0eG9saWIubmV0d29ya3NbbmFtZSBhcyB1dHhvbGliLk5ldHdvcmtOYW1lXTtcbiAgaWYgKCFuZXR3b3JrKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIG5ldHdvcmsgJHtuYW1lfWApO1xuICB9XG4gIHJldHVybiBuZXR3b3JrO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya05hbWUobmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogc3RyaW5nIHtcbiAgaWYgKG5ldHdvcmsgPT09IGJpdGNvaW5SZWd0ZXN0KSB7XG4gICAgcmV0dXJuICdiaXRjb2luUmVndGVzdCc7XG4gIH1cbiAgcmV0dXJuIHV0eG9saWIuZ2V0TmV0d29ya05hbWUobmV0d29yaykgYXMgc3RyaW5nO1xufVxuXG5jb25zdCBuZXR3b3JrT3JkZXIgPSBbXG4gIHV0eG9saWIubmV0d29ya3MuYml0Y29pbixcbiAgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luY2FzaCxcbiAgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luZ29sZCxcbiAgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luc3YsXG4gIHV0eG9saWIubmV0d29ya3MuZGFzaCxcbiAgdXR4b2xpYi5uZXR3b3Jrcy5kb2dlY29pbixcbiAgdXR4b2xpYi5uZXR3b3Jrcy5lY2FzaCxcbiAgdXR4b2xpYi5uZXR3b3Jrcy5saXRlY29pbixcbiAgdXR4b2xpYi5uZXR3b3Jrcy56Y2FzaCxcbl07XG5cbmZ1bmN0aW9uIGdldE5ldHdvcmtPcmRlckluZGV4KG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IG51bWJlciB7XG4gIGlmIChuZXR3b3JrID09PSBiaXRjb2luUmVndGVzdCkge1xuICAgIG5ldHdvcmsgPSB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW47XG4gIH1cbiAgbmV0d29yayA9IGdldE1haW5uZXQobmV0d29yayk7XG4gIGNvbnN0IGluZGV4ID0gbmV0d29ya09yZGVyLmluZGV4T2YobmV0d29yayk7XG4gIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gbmV0d29yayAke25ldHdvcmt9YCk7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya0xpc3QoKTogdXR4b2xpYi5OZXR3b3JrW10ge1xuICByZXR1cm4gWy4uLnV0eG9saWIuZ2V0TmV0d29ya0xpc3QoKSwgYml0Y29pblJlZ3Rlc3RdLnNvcnQoXG4gICAgKGEsIGIpID0+IGdldE5ldHdvcmtPcmRlckluZGV4KGEpIC0gZ2V0TmV0d29ya09yZGVySW5kZXgoYikgfHwgZ2V0TmV0d29ya05hbWUoYSkubG9jYWxlQ29tcGFyZShnZXROZXR3b3JrTmFtZShiKSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ldHdvcmsoYXJndjogeyBuZXR3b3JrOiBzdHJpbmcgfSk6IHV0eG9saWIuTmV0d29yayB7XG4gIHJldHVybiBnZXROZXR3b3JrRm9yTmFtZShhcmd2Lm5ldHdvcmspO1xufVxuXG50eXBlIERlbWFuZE9wdGlvbjxUPiA9IFQgJiB7IGRlbWFuZE9wdGlvbjogdHJ1ZSB9O1xuXG50eXBlIE5ldHdvcmtPcHRpb248VERlZmF1bHQ+ID0ge1xuICB0eXBlOiAnc3RyaW5nJztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZGVmYXVsdDogVERlZmF1bHQ7XG4gIGNvZXJjZTogKGFyZzogc3RyaW5nKSA9PiB1dHhvbGliLk5ldHdvcms7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya09wdGlvbnMoZGVmYXVsdFZhbHVlPzogc3RyaW5nKToge1xuICBuZXR3b3JrOiBOZXR3b3JrT3B0aW9uPHR5cGVvZiBkZWZhdWx0VmFsdWU+O1xufSB7XG4gIHJldHVybiB7XG4gICAgbmV0d29yazoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZXNjcmlwdGlvbjogJ25ldHdvcmsgbmFtZScsXG4gICAgICBkZWZhdWx0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb2VyY2U6IGdldE5ldHdvcmtGb3JOYW1lLFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXR3b3JrT3B0aW9uc0RlbWFuZChkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiB7XG4gIG5ldHdvcms6IERlbWFuZE9wdGlvbjxOZXR3b3JrT3B0aW9uPHR5cGVvZiBkZWZhdWx0VmFsdWU+Pjtcbn0ge1xuICByZXR1cm4ge1xuICAgIG5ldHdvcms6IHsgLi4uZ2V0TmV0d29ya09wdGlvbnMoZGVmYXVsdFZhbHVlKS5uZXR3b3JrLCBkZW1hbmRPcHRpb246IHRydWUgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ type Format = 'hex' | 'base64';
2
+ export declare function stringToBuffer(data: string, format: Format | Format[]): Buffer;
3
+ export declare const readStringOptions: {
4
+ readonly path: {
5
+ readonly type: "string";
6
+ readonly nargs: 1;
7
+ readonly default: "";
8
+ };
9
+ readonly stdin: {
10
+ readonly type: "boolean";
11
+ readonly default: false;
12
+ };
13
+ readonly data: {
14
+ readonly type: "string";
15
+ readonly description: "hex or base64";
16
+ readonly alias: "hex";
17
+ };
18
+ readonly clipboard: {
19
+ readonly type: "boolean";
20
+ readonly default: false;
21
+ };
22
+ };
23
+ export type ReadStringOptions = {
24
+ clipboard?: boolean;
25
+ path?: string;
26
+ data?: string;
27
+ stdin: boolean;
28
+ };
29
+ /**
30
+ * Reads from stdin until Ctrl-D is pressed.
31
+ */
32
+ export declare function readStdin(): Promise<string>;
33
+ /**
34
+ * @param argv
35
+ * @param input - optional input data. If set, this function just ensures that nothing else is set.
36
+ * @return string from specified source
37
+ */
38
+ export declare function argToString(argv: ReadStringOptions, input?: string): Promise<string | undefined>;
39
+ export {};
40
+ //# sourceMappingURL=parseString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseString.d.ts","sourceRoot":"","sources":["../../../src/args/parseString.ts"],"names":[],"mappings":"AAKA,KAAK,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAyB9E;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CASpB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAoCjD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoCtG"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readStringOptions = void 0;
4
+ exports.stringToBuffer = stringToBuffer;
5
+ exports.readStdin = readStdin;
6
+ exports.argToString = argToString;
7
+ const process = require("process");
8
+ const fs = require("fs");
9
+ const clipboardy_cjs_1 = require("clipboardy-cjs");
10
+ function stringToBuffer(data, format) {
11
+ if (typeof format !== 'string') {
12
+ for (const f of format) {
13
+ try {
14
+ return stringToBuffer(data, f);
15
+ }
16
+ catch (err) {
17
+ // ignore, try next
18
+ }
19
+ }
20
+ throw new Error(`could not parse data, formats: ${format}`);
21
+ }
22
+ // strip all whitespace
23
+ data = data.replace(/\s*/g, '');
24
+ if (format === 'hex') {
25
+ data = data.toLowerCase();
26
+ }
27
+ const buf = Buffer.from(data, format);
28
+ // make sure there were no decoding errors
29
+ if (buf.toString(format) !== data) {
30
+ throw new Error(`invalid ${format}`);
31
+ }
32
+ return buf;
33
+ }
34
+ exports.readStringOptions = {
35
+ path: { type: 'string', nargs: 1, default: '' },
36
+ stdin: { type: 'boolean', default: false },
37
+ data: {
38
+ type: 'string',
39
+ description: 'hex or base64',
40
+ alias: 'hex',
41
+ },
42
+ clipboard: { type: 'boolean', default: false },
43
+ };
44
+ /**
45
+ * Reads from stdin until Ctrl-D is pressed.
46
+ */
47
+ async function readStdin() {
48
+ /*
49
+ * High-performance implementation of reading from stdin.
50
+ * Standard readline is extremely slow for long lines.
51
+ */
52
+ return new Promise((resolve, reject) => {
53
+ // Using readline is not an option because it is extremely slow for long lines.
54
+ // By enabling raw mode, we can read more than 4096 bytes, but it requires manual Ctrl-C/Ctrl-D handling
55
+ if (!process.stdin.setRawMode) {
56
+ throw new Error('stdin is not a tty');
57
+ }
58
+ process.stdin.setRawMode(true);
59
+ const buf = [];
60
+ process.stdin.on('data', (chunk) => {
61
+ if (chunk[0] === 0x03) {
62
+ // Ctrl-C
63
+ process.exit(130);
64
+ }
65
+ if (chunk[0] === 0x04) {
66
+ // Ctrl-D
67
+ process.stdin.emit('end');
68
+ return;
69
+ }
70
+ buf.push(chunk);
71
+ process.stdout.write(chunk);
72
+ });
73
+ process.stdin.on('end', () => {
74
+ resolve(Buffer.concat(buf).toString('utf8'));
75
+ });
76
+ process.stdin.on('error', (err) => {
77
+ reject(err);
78
+ });
79
+ });
80
+ }
81
+ /**
82
+ * @param argv
83
+ * @param input - optional input data. If set, this function just ensures that nothing else is set.
84
+ * @return string from specified source
85
+ */
86
+ async function argToString(argv, input) {
87
+ if (argv.stdin || argv.path === '-') {
88
+ if (input) {
89
+ throw new Error(`conflicting arguments`);
90
+ }
91
+ console.log('Reading from stdin. Please paste hex-encoded transaction data.');
92
+ console.log('After inserting data, press Ctrl-D to finish. Press Ctrl-C to cancel.');
93
+ if (process.stdin.isTTY) {
94
+ input = await readStdin();
95
+ }
96
+ else {
97
+ input = await fs.promises.readFile('/dev/stdin', 'utf8');
98
+ }
99
+ }
100
+ if (argv.clipboard) {
101
+ if (input) {
102
+ throw new Error(`conflicting arguments`);
103
+ }
104
+ input = await clipboardy_cjs_1.default.read();
105
+ }
106
+ if (argv.path) {
107
+ if (input) {
108
+ throw new Error(`conflicting arguments`);
109
+ }
110
+ input = (await fs.promises.readFile(argv.path, 'utf8')).toString();
111
+ }
112
+ if (argv.data) {
113
+ if (input) {
114
+ throw new Error(`conflicting arguments`);
115
+ }
116
+ input = argv.data;
117
+ }
118
+ return input;
119
+ }
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VTdHJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJncy9wYXJzZVN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSx3Q0F5QkM7QUF1QkQsOEJBb0NDO0FBT0Qsa0NBb0NDO0FBcklELG1DQUFtQztBQUNuQyx5QkFBeUI7QUFFekIsbURBQXdDO0FBR3hDLFNBQWdCLGNBQWMsQ0FBQyxJQUFZLEVBQUUsTUFBeUI7SUFDcEUsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMvQixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQztnQkFDSCxPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2IsbUJBQW1CO1lBQ3JCLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVoQyxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNyQixJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0QywwQ0FBMEM7SUFDMUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFWSxRQUFBLGlCQUFpQixHQUFHO0lBQy9CLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQy9DLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtJQUMxQyxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxlQUFlO1FBQzVCLEtBQUssRUFBRSxLQUFLO0tBQ2I7SUFDRCxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7Q0FDdEMsQ0FBQztBQVNYOztHQUVHO0FBQ0ksS0FBSyxVQUFVLFNBQVM7SUFDN0I7OztPQUdHO0lBQ0gsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQywrRUFBK0U7UUFDL0Usd0dBQXdHO1FBQ3hHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFDO1FBRXpCLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN0QixTQUFTO2dCQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN0QixTQUFTO2dCQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixPQUFPO1lBQ1QsQ0FBQztZQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLFdBQVcsQ0FBQyxJQUF1QixFQUFFLEtBQWM7SUFDdkUsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDcEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUVBQXVFLENBQUMsQ0FBQztRQUNyRixJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEIsS0FBSyxHQUFHLE1BQU0sU0FBUyxFQUFFLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxLQUFLLEdBQUcsTUFBTSx3QkFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELEtBQUssR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwcm9jZXNzIGZyb20gJ3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5pbXBvcnQgY2xpcGJvYXJkeSBmcm9tICdjbGlwYm9hcmR5LWNqcyc7XG5cbnR5cGUgRm9ybWF0ID0gJ2hleCcgfCAnYmFzZTY0JztcbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdUb0J1ZmZlcihkYXRhOiBzdHJpbmcsIGZvcm1hdDogRm9ybWF0IHwgRm9ybWF0W10pOiBCdWZmZXIge1xuICBpZiAodHlwZW9mIGZvcm1hdCAhPT0gJ3N0cmluZycpIHtcbiAgICBmb3IgKGNvbnN0IGYgb2YgZm9ybWF0KSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gc3RyaW5nVG9CdWZmZXIoZGF0YSwgZik7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gaWdub3JlLCB0cnkgbmV4dFxuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYGNvdWxkIG5vdCBwYXJzZSBkYXRhLCBmb3JtYXRzOiAke2Zvcm1hdH1gKTtcbiAgfVxuXG4gIC8vIHN0cmlwIGFsbCB3aGl0ZXNwYWNlXG4gIGRhdGEgPSBkYXRhLnJlcGxhY2UoL1xccyovZywgJycpO1xuXG4gIGlmIChmb3JtYXQgPT09ICdoZXgnKSB7XG4gICAgZGF0YSA9IGRhdGEudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5mcm9tKGRhdGEsIGZvcm1hdCk7XG4gIC8vIG1ha2Ugc3VyZSB0aGVyZSB3ZXJlIG5vIGRlY29kaW5nIGVycm9yc1xuICBpZiAoYnVmLnRvU3RyaW5nKGZvcm1hdCkgIT09IGRhdGEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgJHtmb3JtYXR9YCk7XG4gIH1cbiAgcmV0dXJuIGJ1Zjtcbn1cblxuZXhwb3J0IGNvbnN0IHJlYWRTdHJpbmdPcHRpb25zID0ge1xuICBwYXRoOiB7IHR5cGU6ICdzdHJpbmcnLCBuYXJnczogMSwgZGVmYXVsdDogJycgfSxcbiAgc3RkaW46IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9LFxuICBkYXRhOiB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgZGVzY3JpcHRpb246ICdoZXggb3IgYmFzZTY0JyxcbiAgICBhbGlhczogJ2hleCcsXG4gIH0sXG4gIGNsaXBib2FyZDogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0sXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBSZWFkU3RyaW5nT3B0aW9ucyA9IHtcbiAgY2xpcGJvYXJkPzogYm9vbGVhbjtcbiAgcGF0aD86IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgc3RkaW46IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIFJlYWRzIGZyb20gc3RkaW4gdW50aWwgQ3RybC1EIGlzIHByZXNzZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkU3RkaW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgLypcbiAgICogSGlnaC1wZXJmb3JtYW5jZSBpbXBsZW1lbnRhdGlvbiBvZiByZWFkaW5nIGZyb20gc3RkaW4uXG4gICAqIFN0YW5kYXJkIHJlYWRsaW5lIGlzIGV4dHJlbWVseSBzbG93IGZvciBsb25nIGxpbmVzLlxuICAgKi9cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAvLyBVc2luZyByZWFkbGluZSBpcyBub3QgYW4gb3B0aW9uIGJlY2F1c2UgaXQgaXMgZXh0cmVtZWx5IHNsb3cgZm9yIGxvbmcgbGluZXMuXG4gICAgLy8gQnkgZW5hYmxpbmcgcmF3IG1vZGUsIHdlIGNhbiByZWFkIG1vcmUgdGhhbiA0MDk2IGJ5dGVzLCBidXQgaXQgcmVxdWlyZXMgbWFudWFsIEN0cmwtQy9DdHJsLUQgaGFuZGxpbmdcbiAgICBpZiAoIXByb2Nlc3Muc3RkaW4uc2V0UmF3TW9kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzdGRpbiBpcyBub3QgYSB0dHknKTtcbiAgICB9XG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHRydWUpO1xuICAgIGNvbnN0IGJ1ZjogQnVmZmVyW10gPSBbXTtcblxuICAgIHByb2Nlc3Muc3RkaW4ub24oJ2RhdGEnLCAoY2h1bmspID0+IHtcbiAgICAgIGlmIChjaHVua1swXSA9PT0gMHgwMykge1xuICAgICAgICAvLyBDdHJsLUNcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEzMCk7XG4gICAgICB9XG4gICAgICBpZiAoY2h1bmtbMF0gPT09IDB4MDQpIHtcbiAgICAgICAgLy8gQ3RybC1EXG4gICAgICAgIHByb2Nlc3Muc3RkaW4uZW1pdCgnZW5kJyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGJ1Zi5wdXNoKGNodW5rKTtcbiAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGNodW5rKTtcbiAgICB9KTtcblxuICAgIHByb2Nlc3Muc3RkaW4ub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIHJlc29sdmUoQnVmZmVyLmNvbmNhdChidWYpLnRvU3RyaW5nKCd1dGY4JykpO1xuICAgIH0pO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgICByZWplY3QoZXJyKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogQHBhcmFtIGFyZ3ZcbiAqIEBwYXJhbSBpbnB1dCAtIG9wdGlvbmFsIGlucHV0IGRhdGEuIElmIHNldCwgdGhpcyBmdW5jdGlvbiBqdXN0IGVuc3VyZXMgdGhhdCBub3RoaW5nIGVsc2UgaXMgc2V0LlxuICogQHJldHVybiBzdHJpbmcgZnJvbSBzcGVjaWZpZWQgc291cmNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcmdUb1N0cmluZyhhcmd2OiBSZWFkU3RyaW5nT3B0aW9ucywgaW5wdXQ/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBpZiAoYXJndi5zdGRpbiB8fCBhcmd2LnBhdGggPT09ICctJykge1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb25mbGljdGluZyBhcmd1bWVudHNgKTtcbiAgICB9XG4gICAgY29uc29sZS5sb2coJ1JlYWRpbmcgZnJvbSBzdGRpbi4gUGxlYXNlIHBhc3RlIGhleC1lbmNvZGVkIHRyYW5zYWN0aW9uIGRhdGEuJyk7XG4gICAgY29uc29sZS5sb2coJ0FmdGVyIGluc2VydGluZyBkYXRhLCBwcmVzcyBDdHJsLUQgdG8gZmluaXNoLiBQcmVzcyBDdHJsLUMgdG8gY2FuY2VsLicpO1xuICAgIGlmIChwcm9jZXNzLnN0ZGluLmlzVFRZKSB7XG4gICAgICBpbnB1dCA9IGF3YWl0IHJlYWRTdGRpbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnB1dCA9IGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKCcvZGV2L3N0ZGluJywgJ3V0ZjgnKTtcbiAgICB9XG4gIH1cblxuICBpZiAoYXJndi5jbGlwYm9hcmQpIHtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgY29uZmxpY3RpbmcgYXJndW1lbnRzYCk7XG4gICAgfVxuICAgIGlucHV0ID0gYXdhaXQgY2xpcGJvYXJkeS5yZWFkKCk7XG4gIH1cblxuICBpZiAoYXJndi5wYXRoKSB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZsaWN0aW5nIGFyZ3VtZW50c2ApO1xuICAgIH1cbiAgICBpbnB1dCA9IChhd2FpdCBmcy5wcm9taXNlcy5yZWFkRmlsZShhcmd2LnBhdGgsICd1dGY4JykpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBpZiAoYXJndi5kYXRhKSB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZsaWN0aW5nIGFyZ3VtZW50c2ApO1xuICAgIH1cbiAgICBpbnB1dCA9IGFyZ3YuZGF0YTtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ export declare function isWalletKeyName(name: string): name is utxolib.bitgo.KeyName;
3
+ export declare const keyOptions: {
4
+ readonly userKey: {
5
+ readonly type: "string";
6
+ readonly demandOption: true;
7
+ };
8
+ readonly userKeyPrefix: {
9
+ readonly type: "string";
10
+ readonly default: "0/0";
11
+ };
12
+ readonly backupKey: {
13
+ readonly type: "string";
14
+ readonly demandOption: true;
15
+ };
16
+ readonly backupKeyPrefix: {
17
+ readonly type: "string";
18
+ readonly default: "0/0";
19
+ };
20
+ readonly bitgoKey: {
21
+ readonly type: "string";
22
+ readonly demandOption: true;
23
+ };
24
+ readonly bitgoKeyPrefix: {
25
+ readonly type: "string";
26
+ readonly default: "0/0";
27
+ };
28
+ };
29
+ export type KeyOptions = {
30
+ userKey: string;
31
+ userKeyPrefix?: string;
32
+ backupKey: string;
33
+ backupKeyPrefix?: string;
34
+ bitgoKey: string;
35
+ bitgoKeyPrefix?: string;
36
+ };
37
+ export declare function getRootWalletKeys(argv: KeyOptions): utxolib.bitgo.RootWalletKeys;
38
+ //# sourceMappingURL=walletKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletKeys.d.ts","sourceRoot":"","sources":["../../../src/args/walletKeys.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAE3E;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;CAOb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAQhF"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.keyOptions = void 0;
4
+ exports.isWalletKeyName = isWalletKeyName;
5
+ exports.getRootWalletKeys = getRootWalletKeys;
6
+ const assert = require("assert");
7
+ const utxolib = require("@bitgo-beta/utxo-lib");
8
+ function isWalletKeyName(name) {
9
+ return name === 'user' || name === 'backup' || name === 'bitgo';
10
+ }
11
+ exports.keyOptions = {
12
+ userKey: { type: 'string', demandOption: true },
13
+ userKeyPrefix: { type: 'string', default: '0/0' },
14
+ backupKey: { type: 'string', demandOption: true },
15
+ backupKeyPrefix: { type: 'string', default: '0/0' },
16
+ bitgoKey: { type: 'string', demandOption: true },
17
+ bitgoKeyPrefix: { type: 'string', default: '0/0' },
18
+ };
19
+ function getRootWalletKeys(argv) {
20
+ const xpubs = [argv.userKey, argv.backupKey, argv.bitgoKey].map((k) => utxolib.bip32.fromBase58(k));
21
+ assert(utxolib.bitgo.isTriple(xpubs));
22
+ return new utxolib.bitgo.RootWalletKeys(xpubs, [
23
+ argv.userKeyPrefix ?? utxolib.bitgo.RootWalletKeys.defaultPrefix,
24
+ argv.backupKeyPrefix ?? utxolib.bitgo.RootWalletKeys.defaultPrefix,
25
+ argv.bitgoKeyPrefix ?? utxolib.bitgo.RootWalletKeys.defaultPrefix,
26
+ ]);
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0S2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmdzL3dhbGxldEtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsMENBRUM7QUFvQkQsOENBUUM7QUFsQ0QsaUNBQWlDO0FBRWpDLGdEQUFnRDtBQUVoRCxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUMxQyxPQUFPLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssT0FBTyxDQUFDO0FBQ2xFLENBQUM7QUFFWSxRQUFBLFVBQVUsR0FBRztJQUN4QixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUU7SUFDL0MsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0lBQ2pELFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtJQUNqRCxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7SUFDbkQsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQ2hELGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtDQUMxQyxDQUFDO0FBV1gsU0FBZ0IsaUJBQWlCLENBQUMsSUFBZ0I7SUFDaEQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFO1FBQzdDLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYTtRQUNoRSxJQUFJLENBQUMsZUFBZSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWE7UUFDbEUsSUFBSSxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhO0tBQ2xFLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dhbGxldEtleU5hbWUobmFtZTogc3RyaW5nKTogbmFtZSBpcyB1dHhvbGliLmJpdGdvLktleU5hbWUge1xuICByZXR1cm4gbmFtZSA9PT0gJ3VzZXInIHx8IG5hbWUgPT09ICdiYWNrdXAnIHx8IG5hbWUgPT09ICdiaXRnbyc7XG59XG5cbmV4cG9ydCBjb25zdCBrZXlPcHRpb25zID0ge1xuICB1c2VyS2V5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSxcbiAgdXNlcktleVByZWZpeDogeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJzAvMCcgfSxcbiAgYmFja3VwS2V5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSxcbiAgYmFja3VwS2V5UHJlZml4OiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnMC8wJyB9LFxuICBiaXRnb0tleTogeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0sXG4gIGJpdGdvS2V5UHJlZml4OiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnMC8wJyB9LFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgS2V5T3B0aW9ucyA9IHtcbiAgdXNlcktleTogc3RyaW5nO1xuICB1c2VyS2V5UHJlZml4Pzogc3RyaW5nO1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgYmFja3VwS2V5UHJlZml4Pzogc3RyaW5nO1xuICBiaXRnb0tleTogc3RyaW5nO1xuICBiaXRnb0tleVByZWZpeD86IHN0cmluZztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290V2FsbGV0S2V5cyhhcmd2OiBLZXlPcHRpb25zKTogdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cyB7XG4gIGNvbnN0IHhwdWJzID0gW2FyZ3YudXNlcktleSwgYXJndi5iYWNrdXBLZXksIGFyZ3YuYml0Z29LZXldLm1hcCgoaykgPT4gdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KGspKTtcbiAgYXNzZXJ0KHV0eG9saWIuYml0Z28uaXNUcmlwbGUoeHB1YnMpKTtcbiAgcmV0dXJuIG5ldyB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzKHhwdWJzLCBbXG4gICAgYXJndi51c2VyS2V5UHJlZml4ID8/IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMuZGVmYXVsdFByZWZpeCxcbiAgICBhcmd2LmJhY2t1cEtleVByZWZpeCA/PyB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzLmRlZmF1bHRQcmVmaXgsXG4gICAgYXJndi5iaXRnb0tleVByZWZpeCA/PyB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzLmRlZmF1bHRQcmVmaXgsXG4gIF0pO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ import { ParserNode } from './Parser';
2
+ export declare function parseBip32(bip32Key: string, params: {
3
+ derive?: string;
4
+ }): ParserNode;
5
+ //# sourceMappingURL=bip32.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../src/bip32.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAepF"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBip32 = parseBip32;
4
+ const utxolib = require("@bitgo-beta/utxo-lib");
5
+ const Parser_1 = require("./Parser");
6
+ const parseUnknown_1 = require("./parseUnknown");
7
+ function parseBip32(bip32Key, params) {
8
+ const parser = new Parser_1.Parser();
9
+ let bip32 = utxolib.bip32.fromBase58(bip32Key);
10
+ if (params.derive) {
11
+ bip32 = bip32.derivePath(params.derive);
12
+ }
13
+ const label = bip32.isNeutered() ? 'xpub' : 'xprv';
14
+ const node = (0, parseUnknown_1.parseUnknown)(parser, label, bip32, {
15
+ omit: ['network', '__Q', '__D', '__DEPTH', '__INDEX', '__PARENT_FINGERPRINT'],
16
+ });
17
+ if (!bip32.isNeutered()) {
18
+ node.nodes?.unshift(parser.node('xpub', bip32.neutered().toBase58()));
19
+ }
20
+ node.value = bip32.toBase58();
21
+ return node;
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmlwMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxnQ0FlQztBQXBCRCxnREFBZ0Q7QUFFaEQscUNBQThDO0FBQzlDLGlEQUE4QztBQUU5QyxTQUFnQixVQUFVLENBQUMsUUFBZ0IsRUFBRSxNQUEyQjtJQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sRUFBRSxDQUFDO0lBQzVCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRCxNQUFNLElBQUksR0FBRyxJQUFBLDJCQUFZLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDOUMsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQztLQUM5RSxDQUFDLENBQUM7SUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IFBhcnNlciwgUGFyc2VyTm9kZSB9IGZyb20gJy4vUGFyc2VyJztcbmltcG9ydCB7IHBhcnNlVW5rbm93biB9IGZyb20gJy4vcGFyc2VVbmtub3duJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmlwMzIoYmlwMzJLZXk6IHN0cmluZywgcGFyYW1zOiB7IGRlcml2ZT86IHN0cmluZyB9KTogUGFyc2VyTm9kZSB7XG4gIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIoKTtcbiAgbGV0IGJpcDMyID0gdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KGJpcDMyS2V5KTtcbiAgaWYgKHBhcmFtcy5kZXJpdmUpIHtcbiAgICBiaXAzMiA9IGJpcDMyLmRlcml2ZVBhdGgocGFyYW1zLmRlcml2ZSk7XG4gIH1cbiAgY29uc3QgbGFiZWwgPSBiaXAzMi5pc05ldXRlcmVkKCkgPyAneHB1YicgOiAneHBydic7XG4gIGNvbnN0IG5vZGUgPSBwYXJzZVVua25vd24ocGFyc2VyLCBsYWJlbCwgYmlwMzIsIHtcbiAgICBvbWl0OiBbJ25ldHdvcmsnLCAnX19RJywgJ19fRCcsICdfX0RFUFRIJywgJ19fSU5ERVgnLCAnX19QQVJFTlRfRklOR0VSUFJJTlQnXSxcbiAgfSk7XG4gIGlmICghYmlwMzIuaXNOZXV0ZXJlZCgpKSB7XG4gICAgbm9kZS5ub2Rlcz8udW5zaGlmdChwYXJzZXIubm9kZSgneHB1YicsIGJpcDMyLm5ldXRlcmVkKCkudG9CYXNlNTgoKSkpO1xuICB9XG4gIG5vZGUudmFsdWUgPSBiaXAzMi50b0Jhc2U1OCgpO1xuICByZXR1cm4gbm9kZTtcbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { CommandModule } from 'yargs';
3
+ import { KeyOptions } from '../../args';
4
+ type IndexLimitOptions = {
5
+ index?: string[];
6
+ limit?: number;
7
+ };
8
+ type ArgsGenerateAddressFixedScript = KeyOptions & IndexLimitOptions & {
9
+ network: utxolib.Network;
10
+ chain?: number[];
11
+ format: string;
12
+ };
13
+ export declare const cmdGenerateFixedScript: CommandModule<unknown, ArgsGenerateAddressFixedScript>;
14
+ type ArgsGenerateDescriptorAddress = {
15
+ network: utxolib.Network;
16
+ descriptor: string;
17
+ format: string;
18
+ } & IndexLimitOptions;
19
+ export declare const cmdFromDescriptor: CommandModule<unknown, ArgsGenerateDescriptorAddress>;
20
+ export {};
21
+ //# sourceMappingURL=cmdGenerate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdGenerate.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdAddress/cmdGenerate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAuC,UAAU,EAAE,MAAM,YAAY,CAAC;AAa7E,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAyBF,KAAK,8BAA8B,GAAG,UAAU,GAC9C,iBAAiB,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,OAAO,EAAE,8BAA8B,CA2BzF,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,iBAAiB,CAAC;AAEtB,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,6BAA6B,CA+BnF,CAAC"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdFromDescriptor = exports.cmdGenerateFixedScript = void 0;
4
+ const args_1 = require("../../args");
5
+ const generateAddress_1 = require("../../generateAddress");
6
+ const indexLimitOptions = {
7
+ index: {
8
+ type: 'string',
9
+ array: true,
10
+ description: 'Address index. Can be given as a range (e.g. 0-99). Takes precedence over --limit.',
11
+ },
12
+ limit: {
13
+ type: 'number',
14
+ description: 'Alias for --index with range starting at 0 to limit-1.',
15
+ default: 100,
16
+ },
17
+ };
18
+ function getIndexRangeFromArgv(argv) {
19
+ if (argv.index) {
20
+ return (0, generateAddress_1.parseIndexRange)(argv.index);
21
+ }
22
+ if (argv.limit) {
23
+ return (0, generateAddress_1.getRange)(0, argv.limit - 1);
24
+ }
25
+ throw new Error(`no index or limit`);
26
+ }
27
+ exports.cmdGenerateFixedScript = {
28
+ command: 'fromFixedScript',
29
+ describe: 'generate bitgo fixed-script addresses',
30
+ builder(b) {
31
+ return b
32
+ .options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
33
+ .options(args_1.keyOptions)
34
+ .option('format', {
35
+ type: 'string',
36
+ default: '%p0\t%a',
37
+ description: `Format string.\nPlaceholders:\n${(0, generateAddress_1.getFixedScriptAddressPlaceholderDescription)()}`,
38
+ })
39
+ .option('chain', { type: 'number', array: true, description: 'Address chain' })
40
+ .options(indexLimitOptions);
41
+ },
42
+ handler(argv) {
43
+ for (const address of (0, generateAddress_1.generateFixedScriptAddress)({
44
+ ...argv,
45
+ index: getIndexRangeFromArgv(argv),
46
+ })) {
47
+ if (argv.format === 'tree') {
48
+ console.log((0, generateAddress_1.formatAddressTree)(address));
49
+ }
50
+ else {
51
+ console.log((0, generateAddress_1.formatFixedScriptAddress)(address, argv.format));
52
+ }
53
+ }
54
+ },
55
+ };
56
+ exports.cmdFromDescriptor = {
57
+ command: 'fromDescriptor [descriptor]',
58
+ describe: 'generate address from descriptor',
59
+ builder(b) {
60
+ return b
61
+ .options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
62
+ .positional('descriptor', {
63
+ type: 'string',
64
+ demandOption: true,
65
+ })
66
+ .options({
67
+ format: {
68
+ type: 'string',
69
+ description: `Format string.\nPlaceholders:\n${(0, generateAddress_1.getDescriptorAddressPlaceholderDescription)()}`,
70
+ default: '%i\t%a',
71
+ },
72
+ })
73
+ .options(indexLimitOptions);
74
+ },
75
+ handler(argv) {
76
+ for (const address of (0, generateAddress_1.generateDescriptorAddress)({
77
+ ...argv,
78
+ index: getIndexRangeFromArgv(argv),
79
+ })) {
80
+ if (argv.format === 'tree') {
81
+ console.log((0, generateAddress_1.formatAddressTree)(address));
82
+ }
83
+ else {
84
+ console.log((0, generateAddress_1.formatDescriptorAddress)(address, argv.format));
85
+ }
86
+ }
87
+ },
88
+ };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kR2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9jbWRHZW5lcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxQ0FBNkU7QUFDN0UsMkRBVStCO0FBTy9CLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLFFBQVE7UUFDZCxLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRSxvRkFBb0Y7S0FDbEc7SUFDRCxLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSx3REFBd0Q7UUFDckUsT0FBTyxFQUFFLEdBQUc7S0FDYjtDQUNPLENBQUM7QUFFWCxTQUFTLHFCQUFxQixDQUFDLElBQXVCO0lBQ3BELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFBLGlDQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBQSwwQkFBUSxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQztBQVNZLFFBQUEsc0JBQXNCLEdBQTJEO0lBQzVGLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsUUFBUSxFQUFFLHVDQUF1QztJQUNqRCxPQUFPLENBQUMsQ0FBQztRQUNQLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQyxJQUFBLDhCQUF1QixFQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNDLE9BQU8sQ0FBQyxpQkFBVSxDQUFDO2FBQ25CLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsU0FBUztZQUNsQixXQUFXLEVBQUUsa0NBQWtDLElBQUEsNkRBQTJDLEdBQUUsRUFBRTtTQUMvRixDQUFDO2FBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUM7YUFDOUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFBLDRDQUEwQixFQUFDO1lBQy9DLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7U0FDbkMsQ0FBQyxFQUFFLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxtQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMENBQXdCLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzlELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUM7QUFRVyxRQUFBLGlCQUFpQixHQUEwRDtJQUN0RixPQUFPLEVBQUUsNkJBQTZCO0lBQ3RDLFFBQVEsRUFBRSxrQ0FBa0M7SUFDNUMsT0FBTyxDQUFDLENBQUM7UUFDUCxPQUFPLENBQUM7YUFDTCxPQUFPLENBQUMsSUFBQSw4QkFBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQzthQUMzQyxVQUFVLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksRUFBRSxRQUFRO1lBQ2QsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQzthQUNELE9BQU8sQ0FBQztZQUNQLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsa0NBQWtDLElBQUEsNERBQTBDLEdBQUUsRUFBRTtnQkFDN0YsT0FBTyxFQUFFLFFBQVE7YUFDbEI7U0FDRixDQUFDO2FBQ0QsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFBLDJDQUF5QixFQUFDO1lBQzlDLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7U0FDbkMsQ0FBQyxFQUFFLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxtQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEseUNBQXVCLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IENvbW1hbmRNb2R1bGUgfSBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IGdldE5ldHdvcmtPcHRpb25zRGVtYW5kLCBrZXlPcHRpb25zLCBLZXlPcHRpb25zIH0gZnJvbSAnLi4vLi4vYXJncyc7XG5pbXBvcnQge1xuICBmb3JtYXRBZGRyZXNzVHJlZSxcbiAgZm9ybWF0RGVzY3JpcHRvckFkZHJlc3MsXG4gIGZvcm1hdEZpeGVkU2NyaXB0QWRkcmVzcyxcbiAgZ2VuZXJhdGVEZXNjcmlwdG9yQWRkcmVzcyxcbiAgZ2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3MsXG4gIGdldERlc2NyaXB0b3JBZGRyZXNzUGxhY2Vob2xkZXJEZXNjcmlwdGlvbixcbiAgZ2V0Rml4ZWRTY3JpcHRBZGRyZXNzUGxhY2Vob2xkZXJEZXNjcmlwdGlvbixcbiAgZ2V0UmFuZ2UsXG4gIHBhcnNlSW5kZXhSYW5nZSxcbn0gZnJvbSAnLi4vLi4vZ2VuZXJhdGVBZGRyZXNzJztcblxudHlwZSBJbmRleExpbWl0T3B0aW9ucyA9IHtcbiAgaW5kZXg/OiBzdHJpbmdbXTtcbiAgbGltaXQ/OiBudW1iZXI7XG59O1xuXG5jb25zdCBpbmRleExpbWl0T3B0aW9ucyA9IHtcbiAgaW5kZXg6IHtcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICBhcnJheTogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogJ0FkZHJlc3MgaW5kZXguIENhbiBiZSBnaXZlbiBhcyBhIHJhbmdlIChlLmcuIDAtOTkpLiBUYWtlcyBwcmVjZWRlbmNlIG92ZXIgLS1saW1pdC4nLFxuICB9LFxuICBsaW1pdDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlc2NyaXB0aW9uOiAnQWxpYXMgZm9yIC0taW5kZXggd2l0aCByYW5nZSBzdGFydGluZyBhdCAwIHRvIGxpbWl0LTEuJyxcbiAgICBkZWZhdWx0OiAxMDAsXG4gIH0sXG59IGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBnZXRJbmRleFJhbmdlRnJvbUFyZ3YoYXJndjogSW5kZXhMaW1pdE9wdGlvbnMpOiBudW1iZXJbXSB7XG4gIGlmIChhcmd2LmluZGV4KSB7XG4gICAgcmV0dXJuIHBhcnNlSW5kZXhSYW5nZShhcmd2LmluZGV4KTtcbiAgfVxuICBpZiAoYXJndi5saW1pdCkge1xuICAgIHJldHVybiBnZXRSYW5nZSgwLCBhcmd2LmxpbWl0IC0gMSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBubyBpbmRleCBvciBsaW1pdGApO1xufVxuXG50eXBlIEFyZ3NHZW5lcmF0ZUFkZHJlc3NGaXhlZFNjcmlwdCA9IEtleU9wdGlvbnMgJlxuICBJbmRleExpbWl0T3B0aW9ucyAmIHtcbiAgICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcms7XG4gICAgY2hhaW4/OiBudW1iZXJbXTtcbiAgICBmb3JtYXQ6IHN0cmluZztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNtZEdlbmVyYXRlRml4ZWRTY3JpcHQ6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0dlbmVyYXRlQWRkcmVzc0ZpeGVkU2NyaXB0PiA9IHtcbiAgY29tbWFuZDogJ2Zyb21GaXhlZFNjcmlwdCcsXG4gIGRlc2NyaWJlOiAnZ2VuZXJhdGUgYml0Z28gZml4ZWQtc2NyaXB0IGFkZHJlc3NlcycsXG4gIGJ1aWxkZXIoYikge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyhnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCgnYml0Y29pbicpKVxuICAgICAgLm9wdGlvbnMoa2V5T3B0aW9ucylcbiAgICAgIC5vcHRpb24oJ2Zvcm1hdCcsIHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlZmF1bHQ6ICclcDBcXHQlYScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgRm9ybWF0IHN0cmluZy5cXG5QbGFjZWhvbGRlcnM6XFxuJHtnZXRGaXhlZFNjcmlwdEFkZHJlc3NQbGFjZWhvbGRlckRlc2NyaXB0aW9uKCl9YCxcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdjaGFpbicsIHsgdHlwZTogJ251bWJlcicsIGFycmF5OiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FkZHJlc3MgY2hhaW4nIH0pXG4gICAgICAub3B0aW9ucyhpbmRleExpbWl0T3B0aW9ucyk7XG4gIH0sXG4gIGhhbmRsZXIoYXJndik6IHZvaWQge1xuICAgIGZvciAoY29uc3QgYWRkcmVzcyBvZiBnZW5lcmF0ZUZpeGVkU2NyaXB0QWRkcmVzcyh7XG4gICAgICAuLi5hcmd2LFxuICAgICAgaW5kZXg6IGdldEluZGV4UmFuZ2VGcm9tQXJndihhcmd2KSxcbiAgICB9KSkge1xuICAgICAgaWYgKGFyZ3YuZm9ybWF0ID09PSAndHJlZScpIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0QWRkcmVzc1RyZWUoYWRkcmVzcykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0Rml4ZWRTY3JpcHRBZGRyZXNzKGFkZHJlc3MsIGFyZ3YuZm9ybWF0KSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxufTtcblxudHlwZSBBcmdzR2VuZXJhdGVEZXNjcmlwdG9yQWRkcmVzcyA9IHtcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICBkZXNjcmlwdG9yOiBzdHJpbmc7XG4gIGZvcm1hdDogc3RyaW5nO1xufSAmIEluZGV4TGltaXRPcHRpb25zO1xuXG5leHBvcnQgY29uc3QgY21kRnJvbURlc2NyaXB0b3I6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0dlbmVyYXRlRGVzY3JpcHRvckFkZHJlc3M+ID0ge1xuICBjb21tYW5kOiAnZnJvbURlc2NyaXB0b3IgW2Rlc2NyaXB0b3JdJyxcbiAgZGVzY3JpYmU6ICdnZW5lcmF0ZSBhZGRyZXNzIGZyb20gZGVzY3JpcHRvcicsXG4gIGJ1aWxkZXIoYikge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyhnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCgnYml0Y29pbicpKVxuICAgICAgLnBvc2l0aW9uYWwoJ2Rlc2NyaXB0b3InLCB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZW1hbmRPcHRpb246IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbnMoe1xuICAgICAgICBmb3JtYXQ6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYEZvcm1hdCBzdHJpbmcuXFxuUGxhY2Vob2xkZXJzOlxcbiR7Z2V0RGVzY3JpcHRvckFkZHJlc3NQbGFjZWhvbGRlckRlc2NyaXB0aW9uKCl9YCxcbiAgICAgICAgICBkZWZhdWx0OiAnJWlcXHQlYScsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLm9wdGlvbnMoaW5kZXhMaW1pdE9wdGlvbnMpO1xuICB9LFxuICBoYW5kbGVyKGFyZ3YpIHtcbiAgICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2YgZ2VuZXJhdGVEZXNjcmlwdG9yQWRkcmVzcyh7XG4gICAgICAuLi5hcmd2LFxuICAgICAgaW5kZXg6IGdldEluZGV4UmFuZ2VGcm9tQXJndihhcmd2KSxcbiAgICB9KSkge1xuICAgICAgaWYgKGFyZ3YuZm9ybWF0ID09PSAndHJlZScpIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0QWRkcmVzc1RyZWUoYWRkcmVzcykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0RGVzY3JpcHRvckFkZHJlc3MoYWRkcmVzcywgYXJndi5mb3JtYXQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG59O1xuIl19
@@ -0,0 +1,20 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import * as yargs from 'yargs';
3
+ import { AddressParser } from '../../AddressParser';
4
+ import { FormatTreeOrJson } from '../../args';
5
+ export type ArgsParseAddress = {
6
+ network?: utxolib.Network;
7
+ format: FormatTreeOrJson;
8
+ all: boolean;
9
+ convert: boolean;
10
+ address: string;
11
+ };
12
+ export declare function getAddressParser(argv: ArgsParseAddress): AddressParser;
13
+ export declare const cmdParse: {
14
+ readonly command: "parse [address]";
15
+ readonly aliases: readonly ["address"];
16
+ readonly describe: "parse address";
17
+ readonly builder: (b: yargs.Argv<unknown>) => yargs.Argv<ArgsParseAddress>;
18
+ readonly handler: (argv: yargs.Arguments<ArgsParseAddress>) => void;
19
+ };
20
+ //# sourceMappingURL=cmdParse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdParse.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdAddress/cmdParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAoB,gBAAgB,EAAqB,MAAM,YAAY,CAAC;AAInF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAEtE;AAED,eAAO,MAAM,QAAQ;;;;0BAIR,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;6BAS/C,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAG,IAAI;CAI9C,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdParse = void 0;
4
+ exports.getAddressParser = getAddressParser;
5
+ const AddressParser_1 = require("../../AddressParser");
6
+ const args_1 = require("../../args");
7
+ const formatString_1 = require("../formatString");
8
+ function getAddressParser(argv) {
9
+ return new AddressParser_1.AddressParser(argv);
10
+ }
11
+ exports.cmdParse = {
12
+ command: 'parse [address]',
13
+ aliases: ['address'],
14
+ describe: 'parse address',
15
+ builder(b) {
16
+ return b
17
+ .options((0, args_1.getNetworkOptions)())
18
+ .option('format', args_1.formatTreeOrJson)
19
+ .option('convert', { type: 'boolean', default: false })
20
+ .option('all', { type: 'boolean', default: false })
21
+ .positional('address', { type: 'string', demandOption: true });
22
+ },
23
+ handler(argv) {
24
+ const parsed = getAddressParser(argv).parse(argv.address);
25
+ console.log((0, formatString_1.formatString)(parsed, argv));
26
+ },
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9jbWRQYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQkEsNENBRUM7QUFmRCx1REFBb0Q7QUFDcEQscUNBQW1GO0FBRW5GLGtEQUErQztBQVUvQyxTQUFnQixnQkFBZ0IsQ0FBQyxJQUFzQjtJQUNyRCxPQUFPLElBQUksNkJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRVksUUFBQSxRQUFRLEdBQUc7SUFDdEIsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDcEIsUUFBUSxFQUFFLGVBQWU7SUFDekIsT0FBTyxDQUFDLENBQXNCO1FBQzVCLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQyxJQUFBLHdCQUFpQixHQUFFLENBQUM7YUFDNUIsTUFBTSxDQUFDLFFBQVEsRUFBRSx1QkFBZ0IsQ0FBQzthQUNsQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDdEQsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQ2xELFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBdUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMkJBQVksRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBBZGRyZXNzUGFyc2VyIH0gZnJvbSAnLi4vLi4vQWRkcmVzc1BhcnNlcic7XG5pbXBvcnQgeyBmb3JtYXRUcmVlT3JKc29uLCBGb3JtYXRUcmVlT3JKc29uLCBnZXROZXR3b3JrT3B0aW9ucyB9IGZyb20gJy4uLy4uL2FyZ3MnO1xuXG5pbXBvcnQgeyBmb3JtYXRTdHJpbmcgfSBmcm9tICcuLi9mb3JtYXRTdHJpbmcnO1xuXG5leHBvcnQgdHlwZSBBcmdzUGFyc2VBZGRyZXNzID0ge1xuICBuZXR3b3JrPzogdXR4b2xpYi5OZXR3b3JrO1xuICBmb3JtYXQ6IEZvcm1hdFRyZWVPckpzb247XG4gIGFsbDogYm9vbGVhbjtcbiAgY29udmVydDogYm9vbGVhbjtcbiAgYWRkcmVzczogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFkZHJlc3NQYXJzZXIoYXJndjogQXJnc1BhcnNlQWRkcmVzcyk6IEFkZHJlc3NQYXJzZXIge1xuICByZXR1cm4gbmV3IEFkZHJlc3NQYXJzZXIoYXJndik7XG59XG5cbmV4cG9ydCBjb25zdCBjbWRQYXJzZSA9IHtcbiAgY29tbWFuZDogJ3BhcnNlIFthZGRyZXNzXScsXG4gIGFsaWFzZXM6IFsnYWRkcmVzcyddLFxuICBkZXNjcmliZTogJ3BhcnNlIGFkZHJlc3MnLFxuICBidWlsZGVyKGI6IHlhcmdzLkFyZ3Y8dW5rbm93bj4pOiB5YXJncy5Bcmd2PEFyZ3NQYXJzZUFkZHJlc3M+IHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMoZ2V0TmV0d29ya09wdGlvbnMoKSlcbiAgICAgIC5vcHRpb24oJ2Zvcm1hdCcsIGZvcm1hdFRyZWVPckpzb24pXG4gICAgICAub3B0aW9uKCdjb252ZXJ0JywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdhbGwnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5wb3NpdGlvbmFsKCdhZGRyZXNzJywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pO1xuICB9LFxuXG4gIGhhbmRsZXIoYXJndjogeWFyZ3MuQXJndW1lbnRzPEFyZ3NQYXJzZUFkZHJlc3M+KTogdm9pZCB7XG4gICAgY29uc3QgcGFyc2VkID0gZ2V0QWRkcmVzc1BhcnNlcihhcmd2KS5wYXJzZShhcmd2LmFkZHJlc3MpO1xuICAgIGNvbnNvbGUubG9nKGZvcm1hdFN0cmluZyhwYXJzZWQsIGFyZ3YpKTtcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { CommandModule } from 'yargs';
2
+ export declare const cmdAddress: CommandModule<unknown, unknown>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdAddress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAStD,CAAC"}