@bitgo-beta/abstract-utxo 1.6.1-alpha.25 → 1.6.1-alpha.250

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 (250) hide show
  1. package/.eslintrc.js +6 -0
  2. package/CHANGELOG.md +973 -0
  3. package/dist/src/abstractUtxoCoin.d.ts +192 -98
  4. package/dist/src/abstractUtxoCoin.d.ts.map +1 -1
  5. package/dist/src/abstractUtxoCoin.js +290 -541
  6. package/dist/src/core/descriptor/DescriptorMap.d.ts +9 -0
  7. package/dist/src/core/descriptor/DescriptorMap.d.ts.map +1 -0
  8. package/dist/src/core/descriptor/DescriptorMap.js +12 -0
  9. package/dist/src/core/descriptor/Output.d.ts +24 -0
  10. package/dist/src/core/descriptor/Output.d.ts.map +1 -0
  11. package/dist/src/core/descriptor/Output.js +22 -0
  12. package/dist/src/core/descriptor/VirtualSize.d.ts +21 -0
  13. package/dist/src/core/descriptor/VirtualSize.d.ts.map +1 -0
  14. package/dist/src/core/descriptor/VirtualSize.js +83 -0
  15. package/dist/src/core/descriptor/address.d.ts +5 -0
  16. package/dist/src/core/descriptor/address.d.ts.map +1 -0
  17. package/dist/src/core/descriptor/address.js +48 -0
  18. package/dist/src/core/descriptor/index.d.ts +9 -0
  19. package/dist/src/core/descriptor/index.d.ts.map +1 -0
  20. package/dist/src/core/descriptor/index.js +17 -0
  21. package/dist/src/core/descriptor/psbt/assertSatisfiable.d.ts +20 -0
  22. package/dist/src/core/descriptor/psbt/assertSatisfiable.d.ts.map +1 -0
  23. package/dist/src/core/descriptor/psbt/assertSatisfiable.js +74 -0
  24. package/dist/src/core/descriptor/psbt/createPsbt.d.ts +15 -0
  25. package/dist/src/core/descriptor/psbt/createPsbt.d.ts.map +1 -0
  26. package/dist/src/core/descriptor/psbt/createPsbt.js +82 -0
  27. package/dist/src/core/descriptor/psbt/findDescriptors.d.ts +22 -0
  28. package/dist/src/core/descriptor/psbt/findDescriptors.d.ts.map +1 -0
  29. package/dist/src/core/descriptor/psbt/findDescriptors.js +74 -0
  30. package/dist/src/core/descriptor/psbt/index.d.ts +5 -0
  31. package/dist/src/core/descriptor/psbt/index.d.ts.map +1 -0
  32. package/dist/src/core/descriptor/psbt/index.js +10 -0
  33. package/dist/src/core/descriptor/psbt/parse.d.ts +27 -0
  34. package/dist/src/core/descriptor/psbt/parse.d.ts.map +1 -0
  35. package/dist/src/core/descriptor/psbt/parse.js +87 -0
  36. package/dist/src/core/descriptor/psbt/wrap.d.ts +12 -0
  37. package/dist/src/core/descriptor/psbt/wrap.d.ts.map +1 -0
  38. package/dist/src/core/descriptor/psbt/wrap.js +76 -0
  39. package/dist/src/core/descriptor/signTxLocal.d.ts +3 -0
  40. package/dist/src/core/descriptor/signTxLocal.d.ts.map +1 -0
  41. package/dist/src/core/descriptor/signTxLocal.js +9 -0
  42. package/dist/src/descriptor/NamedDescriptor.d.ts +18 -0
  43. package/dist/src/descriptor/NamedDescriptor.d.ts.map +1 -0
  44. package/dist/src/descriptor/NamedDescriptor.js +75 -0
  45. package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  46. package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  47. package/dist/src/descriptor/assertDescriptorWalletAddress.js +66 -0
  48. package/dist/src/descriptor/builder/builder.d.ts +13 -0
  49. package/dist/src/descriptor/builder/builder.d.ts.map +1 -0
  50. package/dist/src/descriptor/builder/builder.js +37 -0
  51. package/dist/src/descriptor/builder/index.d.ts +3 -0
  52. package/dist/src/descriptor/builder/index.d.ts.map +1 -0
  53. package/dist/src/descriptor/builder/index.js +8 -0
  54. package/dist/src/descriptor/builder/parse.d.ts +5 -0
  55. package/dist/src/descriptor/builder/parse.d.ts.map +1 -0
  56. package/dist/src/descriptor/builder/parse.js +149 -0
  57. package/dist/src/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  58. package/dist/src/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  59. package/dist/src/descriptor/createWallet/createDescriptorWallet.js +74 -0
  60. package/dist/src/descriptor/createWallet/createDescriptors.d.ts +12 -0
  61. package/dist/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  62. package/dist/src/descriptor/createWallet/createDescriptors.js +33 -0
  63. package/dist/src/descriptor/createWallet/index.d.ts +3 -0
  64. package/dist/src/descriptor/createWallet/index.d.ts.map +1 -0
  65. package/dist/src/descriptor/createWallet/index.js +19 -0
  66. package/dist/src/descriptor/descriptorWallet.d.ts +19 -0
  67. package/dist/src/descriptor/descriptorWallet.d.ts.map +1 -0
  68. package/dist/src/descriptor/descriptorWallet.js +54 -0
  69. package/dist/src/descriptor/index.d.ts +7 -0
  70. package/dist/src/descriptor/index.d.ts.map +1 -0
  71. package/dist/src/descriptor/index.js +52 -0
  72. package/dist/src/descriptor/validatePolicy.d.ts +23 -0
  73. package/dist/src/descriptor/validatePolicy.d.ts.map +1 -0
  74. package/dist/src/descriptor/validatePolicy.js +91 -0
  75. package/dist/src/index.d.ts +2 -0
  76. package/dist/src/index.d.ts.map +1 -1
  77. package/dist/src/index.js +30 -2
  78. package/dist/src/keychains.d.ts +48 -0
  79. package/dist/src/keychains.d.ts.map +1 -0
  80. package/dist/src/keychains.js +104 -0
  81. package/dist/src/names.d.ts +13 -0
  82. package/dist/src/names.d.ts.map +1 -0
  83. package/dist/src/names.js +175 -0
  84. package/dist/src/recovery/RecoveryProvider.d.ts +1 -1
  85. package/dist/src/recovery/RecoveryProvider.d.ts.map +1 -1
  86. package/dist/src/recovery/RecoveryProvider.js +2 -4
  87. package/dist/src/recovery/backupKeyRecovery.d.ts +41 -16
  88. package/dist/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  89. package/dist/src/recovery/backupKeyRecovery.js +168 -96
  90. package/dist/src/recovery/baseApi.d.ts +3 -6
  91. package/dist/src/recovery/baseApi.d.ts.map +1 -1
  92. package/dist/src/recovery/baseApi.js +6 -6
  93. package/dist/src/recovery/coingeckoApi.d.ts +0 -3
  94. package/dist/src/recovery/coingeckoApi.d.ts.map +1 -1
  95. package/dist/src/recovery/coingeckoApi.js +1 -4
  96. package/dist/src/recovery/crossChainRecovery.d.ts +12 -3
  97. package/dist/src/recovery/crossChainRecovery.d.ts.map +1 -1
  98. package/dist/src/recovery/crossChainRecovery.js +93 -21
  99. package/dist/src/recovery/index.d.ts +0 -1
  100. package/dist/src/recovery/index.d.ts.map +1 -1
  101. package/dist/src/recovery/index.js +6 -3
  102. package/dist/src/recovery/mempoolApi.d.ts.map +1 -1
  103. package/dist/src/recovery/mempoolApi.js +10 -7
  104. package/dist/src/replayProtection.js +37 -5
  105. package/dist/src/sign.d.ts +29 -8
  106. package/dist/src/sign.d.ts.map +1 -1
  107. package/dist/src/sign.js +114 -15
  108. package/dist/src/transaction/common/verifyPayGoAmount.d.ts +1 -0
  109. package/dist/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  110. package/dist/src/transaction/common/verifyPayGoAmount.js +1 -0
  111. package/dist/src/transaction/descriptor/explainPsbt.d.ts +5 -0
  112. package/dist/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  113. package/dist/src/transaction/descriptor/explainPsbt.js +80 -0
  114. package/dist/src/transaction/descriptor/index.d.ts +7 -0
  115. package/dist/src/transaction/descriptor/index.d.ts.map +1 -0
  116. package/dist/src/transaction/descriptor/index.js +14 -0
  117. package/dist/src/transaction/descriptor/parse.d.ts +14 -0
  118. package/dist/src/transaction/descriptor/parse.d.ts.map +1 -0
  119. package/dist/src/transaction/descriptor/parse.js +115 -0
  120. package/dist/src/transaction/descriptor/parseToAmountType.d.ts +13 -0
  121. package/dist/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  122. package/dist/src/transaction/descriptor/parseToAmountType.js +60 -0
  123. package/dist/src/transaction/descriptor/recipient.d.ts +5 -0
  124. package/dist/src/transaction/descriptor/recipient.d.ts.map +1 -0
  125. package/dist/src/transaction/descriptor/recipient.js +3 -0
  126. package/dist/src/transaction/descriptor/signPsbt.d.ts +25 -0
  127. package/dist/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
  128. package/dist/src/transaction/descriptor/signPsbt.js +43 -0
  129. package/dist/src/transaction/descriptor/verifyTransaction.d.ts +33 -0
  130. package/dist/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  131. package/dist/src/transaction/descriptor/verifyTransaction.js +105 -0
  132. package/dist/src/transaction/explainTransaction.d.ts +17 -0
  133. package/dist/src/transaction/explainTransaction.d.ts.map +1 -0
  134. package/dist/src/transaction/explainTransaction.js +67 -0
  135. package/dist/src/transaction/fetchInputs.d.ts +26 -0
  136. package/dist/src/transaction/fetchInputs.d.ts.map +1 -0
  137. package/dist/src/transaction/fetchInputs.js +109 -0
  138. package/dist/src/transaction/fixedScript/explainTransaction.d.ts +30 -0
  139. package/dist/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  140. package/dist/src/transaction/fixedScript/explainTransaction.js +216 -0
  141. package/dist/src/transaction/fixedScript/index.d.ts +6 -0
  142. package/dist/src/transaction/fixedScript/index.d.ts.map +1 -0
  143. package/dist/src/transaction/fixedScript/index.js +13 -0
  144. package/dist/src/transaction/fixedScript/parseOutput.d.ts +26 -0
  145. package/dist/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  146. package/dist/src/transaction/fixedScript/parseOutput.js +213 -0
  147. package/dist/src/transaction/fixedScript/parseTransaction.d.ts +7 -0
  148. package/dist/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  149. package/dist/src/transaction/fixedScript/parseTransaction.js +203 -0
  150. package/dist/src/transaction/fixedScript/signTransaction.d.ts +17 -0
  151. package/dist/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  152. package/dist/src/transaction/fixedScript/signTransaction.js +138 -0
  153. package/dist/src/transaction/fixedScript/verifyTransaction.d.ts +4 -0
  154. package/dist/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  155. package/dist/src/transaction/fixedScript/verifyTransaction.js +176 -0
  156. package/dist/src/transaction/index.d.ts +6 -0
  157. package/dist/src/transaction/index.d.ts.map +1 -0
  158. package/dist/src/transaction/index.js +26 -0
  159. package/dist/src/transaction/outputDifference.d.ts +40 -0
  160. package/dist/src/transaction/outputDifference.d.ts.map +1 -0
  161. package/dist/src/transaction/outputDifference.js +47 -0
  162. package/dist/src/transaction/parseTransaction.d.ts +3 -0
  163. package/dist/src/transaction/parseTransaction.d.ts.map +1 -0
  164. package/dist/src/transaction/parseTransaction.js +48 -0
  165. package/dist/src/transaction/recipient.d.ts +29 -0
  166. package/dist/src/transaction/recipient.d.ts.map +1 -0
  167. package/dist/src/transaction/recipient.js +88 -0
  168. package/dist/src/transaction/signTransaction.d.ts +6 -0
  169. package/dist/src/transaction/signTransaction.d.ts.map +1 -0
  170. package/dist/src/transaction/signTransaction.js +102 -0
  171. package/dist/src/transaction/verifyTransaction.d.ts +4 -0
  172. package/dist/src/transaction/verifyTransaction.d.ts.map +1 -0
  173. package/dist/src/transaction/verifyTransaction.js +50 -0
  174. package/dist/src/verifyKey.d.ts +28 -0
  175. package/dist/src/verifyKey.d.ts.map +1 -0
  176. package/dist/src/verifyKey.js +164 -0
  177. package/dist/src/wallet.d.ts +12 -0
  178. package/dist/src/wallet.d.ts.map +1 -0
  179. package/dist/src/wallet.js +3 -0
  180. package/dist/test/core/descriptor/descriptor.utils.d.ts +11 -0
  181. package/dist/test/core/descriptor/descriptor.utils.d.ts.map +1 -0
  182. package/dist/test/core/descriptor/descriptor.utils.js +63 -0
  183. package/dist/test/core/descriptor/psbt/VirtualSize.d.ts +2 -0
  184. package/dist/test/core/descriptor/psbt/VirtualSize.d.ts.map +1 -0
  185. package/dist/test/core/descriptor/psbt/VirtualSize.js +78 -0
  186. package/dist/test/core/descriptor/psbt/assertSatisfiable.d.ts +2 -0
  187. package/dist/test/core/descriptor/psbt/assertSatisfiable.d.ts.map +1 -0
  188. package/dist/test/core/descriptor/psbt/assertSatisfiable.js +56 -0
  189. package/dist/test/core/descriptor/psbt/createPsbt.d.ts +2 -0
  190. package/dist/test/core/descriptor/psbt/createPsbt.d.ts.map +1 -0
  191. package/dist/test/core/descriptor/psbt/createPsbt.js +85 -0
  192. package/dist/test/core/descriptor/psbt/findDescriptors.d.ts +2 -0
  193. package/dist/test/core/descriptor/psbt/findDescriptors.d.ts.map +1 -0
  194. package/dist/test/core/descriptor/psbt/findDescriptors.js +66 -0
  195. package/dist/test/core/descriptor/psbt/mock.utils.d.ts +34 -0
  196. package/dist/test/core/descriptor/psbt/mock.utils.d.ts.map +1 -0
  197. package/dist/test/core/descriptor/psbt/mock.utils.js +87 -0
  198. package/dist/test/core/descriptor/psbt/parse.d.ts +2 -0
  199. package/dist/test/core/descriptor/psbt/parse.d.ts.map +1 -0
  200. package/dist/test/core/descriptor/psbt/parse.js +32 -0
  201. package/dist/test/core/descriptor/psbt/psbt.utils.d.ts +4 -0
  202. package/dist/test/core/descriptor/psbt/psbt.utils.d.ts.map +1 -0
  203. package/dist/test/core/descriptor/psbt/psbt.utils.js +20 -0
  204. package/dist/test/core/fixtures.utils.d.ts +15 -0
  205. package/dist/test/core/fixtures.utils.d.ts.map +1 -0
  206. package/dist/test/core/fixtures.utils.js +114 -0
  207. package/dist/test/core/key.utils.d.ts +16 -0
  208. package/dist/test/core/key.utils.d.ts.map +1 -0
  209. package/dist/test/core/key.utils.js +59 -0
  210. package/dist/test/core/toPlainObject.utils.d.ts +11 -0
  211. package/dist/test/core/toPlainObject.utils.d.ts.map +1 -0
  212. package/dist/test/core/toPlainObject.utils.js +75 -0
  213. package/dist/test/descriptor/NamedDescriptor.d.ts +2 -0
  214. package/dist/test/descriptor/NamedDescriptor.d.ts.map +1 -0
  215. package/dist/test/descriptor/NamedDescriptor.js +19 -0
  216. package/dist/test/descriptor/builder.d.ts +2 -0
  217. package/dist/test/descriptor/builder.d.ts.map +1 -0
  218. package/dist/test/descriptor/builder.js +72 -0
  219. package/dist/test/descriptor/createWallet/createDescriptors.d.ts +2 -0
  220. package/dist/test/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  221. package/dist/test/descriptor/createWallet/createDescriptors.js +21 -0
  222. package/dist/test/descriptor/descriptorWallet.d.ts +2 -0
  223. package/dist/test/descriptor/descriptorWallet.d.ts.map +1 -0
  224. package/dist/test/descriptor/descriptorWallet.js +28 -0
  225. package/dist/test/transaction/descriptor/explainPsbt.d.ts +2 -0
  226. package/dist/test/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  227. package/dist/test/transaction/descriptor/explainPsbt.js +28 -0
  228. package/dist/test/transaction/descriptor/fixtures.utils.d.ts +2 -0
  229. package/dist/test/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
  230. package/dist/test/transaction/descriptor/fixtures.utils.js +12 -0
  231. package/dist/test/transaction/descriptor/outputDifference.d.ts +2 -0
  232. package/dist/test/transaction/descriptor/outputDifference.d.ts.map +1 -0
  233. package/dist/test/transaction/descriptor/outputDifference.js +76 -0
  234. package/dist/test/transaction/descriptor/parse.d.ts +2 -0
  235. package/dist/test/transaction/descriptor/parse.d.ts.map +1 -0
  236. package/dist/test/transaction/descriptor/parse.js +78 -0
  237. package/dist/test/transaction/descriptor/sign.d.ts +2 -0
  238. package/dist/test/transaction/descriptor/sign.d.ts.map +1 -0
  239. package/dist/test/transaction/descriptor/sign.js +33 -0
  240. package/dist/test/transaction/descriptor/validatePolicy.d.ts +2 -0
  241. package/dist/test/transaction/descriptor/validatePolicy.d.ts.map +1 -0
  242. package/dist/test/transaction/descriptor/validatePolicy.js +40 -0
  243. package/dist/tsconfig.tsbuildinfo +1 -7910
  244. package/package.json +16 -11
  245. package/dist/src/parseOutput.d.ts +0 -22
  246. package/dist/src/parseOutput.d.ts.map +0 -1
  247. package/dist/src/parseOutput.js +0 -170
  248. package/dist/src/recovery/smartbitApi.d.ts +0 -11
  249. package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
  250. package/dist/src/recovery/smartbitApi.js +0 -36
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DescriptorPolicyValidationError = exports.policyAllowAll = void 0;
4
+ exports.getValidatorDescriptorTemplate = getValidatorDescriptorTemplate;
5
+ exports.getValidatorEvery = getValidatorEvery;
6
+ exports.getValidatorSome = getValidatorSome;
7
+ exports.getValidatorOneOfTemplates = getValidatorOneOfTemplates;
8
+ exports.getValidatorSignedByUserKey = getValidatorSignedByUserKey;
9
+ exports.assertDescriptorPolicy = assertDescriptorPolicy;
10
+ exports.toDescriptorMapValidate = toDescriptorMapValidate;
11
+ exports.getPolicyForEnv = getPolicyForEnv;
12
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
13
+ const descriptor_1 = require("../core/descriptor");
14
+ const builder_1 = require("./builder");
15
+ const NamedDescriptor_1 = require("./NamedDescriptor");
16
+ exports.policyAllowAll = {
17
+ name: 'allowAll',
18
+ validate: () => true,
19
+ };
20
+ function getValidatorDescriptorTemplate(name) {
21
+ return {
22
+ name: 'descriptorTemplate(' + name + ')',
23
+ validate(d, walletKeys) {
24
+ const parsed = (0, builder_1.parseDescriptor)(d);
25
+ return (parsed.name === name &&
26
+ parsed.keys.length === walletKeys.length &&
27
+ parsed.keys.every((k, i) => k.toBase58() === walletKeys[i].neutered().toBase58()));
28
+ },
29
+ };
30
+ }
31
+ function getValidatorEvery(validators) {
32
+ return {
33
+ name: 'every(' + validators.map((v) => v.name).join(',') + ')',
34
+ validate(d, walletKeys, signatures) {
35
+ return validators.every((v) => v.validate(d, walletKeys, signatures));
36
+ },
37
+ };
38
+ }
39
+ function getValidatorSome(validators) {
40
+ return {
41
+ name: 'some(' + validators.map((v) => v.name).join(',') + ')',
42
+ validate(d, walletKeys, signatures) {
43
+ return validators.some((v) => v.validate(d, walletKeys, signatures));
44
+ },
45
+ };
46
+ }
47
+ function getValidatorOneOfTemplates(names) {
48
+ return getValidatorSome(names.map(getValidatorDescriptorTemplate));
49
+ }
50
+ function getValidatorSignedByUserKey() {
51
+ return {
52
+ name: 'signedByUser',
53
+ validate(d, walletKeys, signatures) {
54
+ // the first key is the user key, by convention
55
+ return (0, NamedDescriptor_1.hasValidSignature)(d, walletKeys[0], signatures);
56
+ },
57
+ };
58
+ }
59
+ class DescriptorPolicyValidationError extends Error {
60
+ constructor(descriptor, policy) {
61
+ super(`Descriptor ${descriptor.toString()} does not match policy ${policy.name}`);
62
+ }
63
+ }
64
+ exports.DescriptorPolicyValidationError = DescriptorPolicyValidationError;
65
+ function assertDescriptorPolicy(descriptor, policy, walletKeys, signatures) {
66
+ if (!policy.validate(descriptor, walletKeys, signatures)) {
67
+ throw new DescriptorPolicyValidationError(descriptor, policy);
68
+ }
69
+ }
70
+ function toDescriptorMapValidate(descriptors, walletKeys, policy) {
71
+ return (0, descriptor_1.toDescriptorMap)(descriptors.map((namedDescriptor) => {
72
+ const d = wasm_miniscript_1.Descriptor.fromString(namedDescriptor.value, 'derivable');
73
+ assertDescriptorPolicy(d, policy, walletKeys, namedDescriptor.signatures ?? []);
74
+ return { name: namedDescriptor.name, value: d };
75
+ }));
76
+ }
77
+ function getPolicyForEnv(env) {
78
+ switch (env) {
79
+ case 'adminProd':
80
+ case 'prod':
81
+ return getValidatorSome([
82
+ // allow all 2-of-3-ish descriptors where the keys match the wallet keys
83
+ getValidatorOneOfTemplates(['Wsh2Of3', 'Wsh2Of3CltvDrop', 'ShWsh2Of3CltvDrop']),
84
+ // allow all descriptors signed by the user key
85
+ getValidatorSignedByUserKey(),
86
+ ]);
87
+ default:
88
+ return exports.policyAllowAll;
89
+ }
90
+ }
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxQkEsd0VBWUM7QUFFRCw4Q0FPQztBQUVELDRDQU9DO0FBRUQsZ0VBRUM7QUFFRCxrRUFRQztBQVFELHdEQVNDO0FBRUQsMERBWUM7QUFFRCwwQ0FhQztBQS9HRCw0REFBb0Q7QUFJcEQsbURBQW9FO0FBRXBFLHVDQUE0QztBQUM1Qyx1REFBdUU7QUFTMUQsUUFBQSxjQUFjLEdBQStCO0lBQ3hELElBQUksRUFBRSxVQUFVO0lBQ2hCLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO0NBQ3JCLENBQUM7QUFFRixTQUFnQiw4QkFBOEIsQ0FBQyxJQUFZO0lBQ3pELE9BQU87UUFDTCxJQUFJLEVBQUUscUJBQXFCLEdBQUcsSUFBSSxHQUFHLEdBQUc7UUFDeEMsUUFBUSxDQUFDLENBQWEsRUFBRSxVQUFxQjtZQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHlCQUFlLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsT0FBTyxDQUNMLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSTtnQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLE1BQU07Z0JBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUNsRixDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsVUFBd0M7SUFDeEUsT0FBTztRQUNMLElBQUksRUFBRSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcs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TTtZQUNULE9BQU8sZ0JBQWdCLENBQUM7Z0JBQ3RCLHdFQUF3RTtnQkFDeEUsMEJBQTBCLENBQUMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztnQkFDL0UsK0NBQStDO2dCQUMvQywyQkFBMkIsRUFBRTthQUM5QixDQUFDLENBQUM7UUFDTDtZQUNFLE9BQU8sc0JBQWMsQ0FBQztJQUMxQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCB7IEVudmlyb25tZW50TmFtZSwgVHJpcGxlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JNYXAsIHRvRGVzY3JpcHRvck1hcCB9IGZyb20gJy4uL2NvcmUvZGVzY3JpcHRvcic7XG5cbmltcG9ydCB7IHBhcnNlRGVzY3JpcHRvciB9IGZyb20gJy4vYnVpbGRlcic7XG5pbXBvcnQgeyBoYXNWYWxpZFNpZ25hdHVyZSwgTmFtZWREZXNjcmlwdG9yIH0gZnJvbSAnLi9OYW1lZERlc2NyaXB0b3InO1xuXG5leHBvcnQgdHlwZSBLZXlUcmlwbGUgPSBUcmlwbGU8dXR4b2xpYi5CSVAzMkludGVyZmFjZT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3kge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbGlkYXRlKGQ6IERlc2NyaXB0b3IsIHdhbGxldEtleXM6IEtleVRyaXBsZSwgc2lnbmF0dXJlczogc3RyaW5nW10pOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgcG9saWN5QWxsb3dBbGw6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5ID0ge1xuICBuYW1lOiAnYWxsb3dBbGwnLFxuICB2YWxpZGF0ZTogKCkgPT4gdHJ1ZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZGF0b3JEZXNjcmlwdG9yVGVtcGxhdGUobmFtZTogc3RyaW5nKTogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3kge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdkZXNjcmlwdG9yVGVtcGxhdGUoJyArIG5hbWUgKyAnKScsXG4gICAgdmFsaWRhdGUoZDogRGVzY3JpcHRvciwgd2FsbGV0S2V5czogS2V5VHJpcGxlKTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZURlc2NyaXB0b3IoZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBwYXJzZWQubmFtZSA9PT0gbmFtZSAmJlxuICAgICAgICBwYXJzZWQua2V5cy5sZW5ndGggPT09IHdhbGxldEtleXMubGVuZ3RoICYmXG4gICAgICAgIHBhcnNlZC5rZXlzLmV2ZXJ5KChrLCBpKSA9PiBrLnRvQmFzZTU4KCkgPT09IHdhbGxldEtleXNbaV0ubmV1dGVyZWQoKS50b0Jhc2U1OCgpKVxuICAgICAgKTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yRXZlcnkodmFsaWRhdG9yczogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3lbXSk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZXZlcnkoJyArIHZhbGlkYXRvcnMubWFwKCh2KSA9PiB2Lm5hbWUpLmpvaW4oJywnKSArICcpJyxcbiAgICB2YWxpZGF0ZShkOiBEZXNjcmlwdG9yLCB3YWxsZXRLZXlzOiBLZXlUcmlwbGUsIHNpZ25hdHVyZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdmFsaWRhdG9ycy5ldmVyeSgodikgPT4gdi52YWxpZGF0ZShkLCB3YWxsZXRLZXlzLCBzaWduYXR1cmVzKSk7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRvclNvbWUodmFsaWRhdG9yczogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3lbXSk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnc29tZSgnICsgdmFsaWRhdG9ycy5tYXAoKHYpID0+IHYubmFtZSkuam9pbignLCcpICsgJyknLFxuICAgIHZhbGlkYXRlKGQ6IERlc2NyaXB0b3IsIHdhbGxldEtleXM6IEtleVRyaXBsZSwgc2lnbmF0dXJlczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB2YWxpZGF0b3JzLnNvbWUoKHYpID0+IHYudmFsaWRhdGUoZCwgd2FsbGV0S2V5cywgc2lnbmF0dXJlcykpO1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZGF0b3JPbmVPZlRlbXBsYXRlcyhuYW1lczogc3RyaW5nW10pOiBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSB7XG4gIHJldHVybiBnZXRWYWxpZGF0b3JTb21lKG5hbWVzLm1hcChnZXRWYWxpZGF0b3JEZXNjcmlwdG9yVGVtcGxhdGUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRvclNpZ25lZEJ5VXNlcktleSgpOiBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3NpZ25lZEJ5VXNlcicsXG4gICAgdmFsaWRhdGUoZDogRGVzY3JpcHRvciwgd2FsbGV0S2V5czogS2V5VHJpcGxlLCBzaWduYXR1cmVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgLy8gdGhlIGZpcnN0IGtleSBpcyB0aGUgdXNlciBrZXksIGJ5IGNvbnZlbnRpb25cbiAgICAgIHJldHVybiBoYXNWYWxpZFNpZ25hdHVyZShkLCB3YWxsZXRLZXlzWzBdLCBzaWduYXR1cmVzKTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgRGVzY3JpcHRvclBvbGljeVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoZGVzY3JpcHRvcjogRGVzY3JpcHRvciwgcG9saWN5OiBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSkge1xuICAgIHN1cGVyKGBEZXNjcmlwdG9yICR7ZGVzY3JpcHRvci50b1N0cmluZygpfSBkb2VzIG5vdCBtYXRjaCBwb2xpY3kgJHtwb2xpY3kubmFtZX1gKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RGVzY3JpcHRvclBvbGljeShcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcixcbiAgcG9saWN5OiBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSxcbiAgd2FsbGV0S2V5czogS2V5VHJpcGxlLFxuICBzaWduYXR1cmVzOiBzdHJpbmdbXVxuKTogdm9pZCB7XG4gIGlmICghcG9saWN5LnZhbGlkYXRlKGRlc2NyaXB0b3IsIHdhbGxldEtleXMsIHNpZ25hdHVyZXMpKSB7XG4gICAgdGhyb3cgbmV3IERlc2NyaXB0b3JQb2xpY3lWYWxpZGF0aW9uRXJyb3IoZGVzY3JpcHRvciwgcG9saWN5KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUoXG4gIGRlc2NyaXB0b3JzOiBOYW1lZERlc2NyaXB0b3JbXSxcbiAgd2FsbGV0S2V5czogS2V5VHJpcGxlLFxuICBwb2xpY3k6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5XG4pOiBEZXNjcmlwdG9yTWFwIHtcbiAgcmV0dXJuIHRvRGVzY3JpcHRvck1hcChcbiAgICBkZXNjcmlwdG9ycy5tYXAoKG5hbWVkRGVzY3JpcHRvcikgPT4ge1xuICAgICAgY29uc3QgZCA9IERlc2NyaXB0b3IuZnJvbVN0cmluZyhuYW1lZERlc2NyaXB0b3IudmFsdWUsICdkZXJpdmFibGUnKTtcbiAgICAgIGFzc2VydERlc2NyaXB0b3JQb2xpY3koZCwgcG9saWN5LCB3YWxsZXRLZXlzLCBuYW1lZERlc2NyaXB0b3Iuc2lnbmF0dXJlcyA/PyBbXSk7XG4gICAgICByZXR1cm4geyBuYW1lOiBuYW1lZERlc2NyaXB0b3IubmFtZSwgdmFsdWU6IGQgfTtcbiAgICB9KVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9saWN5Rm9yRW52KGVudjogRW52aXJvbm1lbnROYW1lKTogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3kge1xuICBzd2l0Y2ggKGVudikge1xuICAgIGNhc2UgJ2FkbWluUHJvZCc6XG4gICAgY2FzZSAncHJvZCc6XG4gICAgICByZXR1cm4gZ2V0VmFsaWRhdG9yU29tZShbXG4gICAgICAgIC8vIGFsbG93IGFsbCAyLW9mLTMtaXNoIGRlc2NyaXB0b3JzIHdoZXJlIHRoZSBrZXlzIG1hdGNoIHRoZSB3YWxsZXQga2V5c1xuICAgICAgICBnZXRWYWxpZGF0b3JPbmVPZlRlbXBsYXRlcyhbJ1dzaDJPZjMnLCAnV3NoMk9mM0NsdHZEcm9wJywgJ1NoV3NoMk9mM0NsdHZEcm9wJ10pLFxuICAgICAgICAvLyBhbGxvdyBhbGwgZGVzY3JpcHRvcnMgc2lnbmVkIGJ5IHRoZSB1c2VyIGtleVxuICAgICAgICBnZXRWYWxpZGF0b3JTaWduZWRCeVVzZXJLZXkoKSxcbiAgICAgIF0pO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gcG9saWN5QWxsb3dBbGw7XG4gIH1cbn1cbiJdfQ==
@@ -3,4 +3,6 @@ export * from './config';
3
3
  export * from './recovery';
4
4
  export * from './replayProtection';
5
5
  export * from './sign';
6
+ export { UtxoWallet } from './wallet';
7
+ export * as descriptor from './descriptor';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,18 +1,46 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
9
18
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
20
  };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
12
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.descriptor = void 0;
13
40
  __exportStar(require("./abstractUtxoCoin"), exports);
14
41
  __exportStar(require("./config"), exports);
15
42
  __exportStar(require("./recovery"), exports);
16
43
  __exportStar(require("./replayProtection"), exports);
17
44
  __exportStar(require("./sign"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBQ25DLDJDQUF5QjtBQUN6Qiw2Q0FBMkI7QUFDM0IscURBQW1DO0FBQ25DLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3RVdHhvQ29pbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3JlY292ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vcmVwbGF5UHJvdGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NpZ24nO1xuIl19
45
+ exports.descriptor = __importStar(require("./descriptor"));
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBQ25DLDJDQUF5QjtBQUN6Qiw2Q0FBMkI7QUFDM0IscURBQW1DO0FBQ25DLHlDQUF1QjtBQUd2QiwyREFBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0VXR4b0NvaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvdmVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcGxheVByb3RlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zaWduJztcblxuZXhwb3J0IHsgVXR4b1dhbGxldCB9IGZyb20gJy4vd2FsbGV0JztcbmV4cG9ydCAqIGFzIGRlc2NyaXB0b3IgZnJvbSAnLi9kZXNjcmlwdG9yJztcbiJdfQ==
@@ -0,0 +1,48 @@
1
+ import * as t from 'io-ts';
2
+ import * as utxolib from '@bitgo-beta/utxo-lib';
3
+ import { IRequestTracer, IWallet, Triple } from '@bitgo-beta/sdk-core';
4
+ import { AbstractUtxoCoin } from './abstractUtxoCoin';
5
+ import { UtxoWallet } from './wallet';
6
+ /**
7
+ * A keychain for a UTXO wallet.
8
+ */
9
+ export declare const UtxoKeychain: t.IntersectionC<[t.TypeC<{
10
+ pub: t.StringC;
11
+ }>, t.PartialC<{
12
+ prv: t.StringC;
13
+ encryptedPrv: t.StringC;
14
+ }>]>;
15
+ export type UtxoKeychain = t.TypeOf<typeof UtxoKeychain>;
16
+ export declare const UtxoNamedKeychains: t.TypeC<{
17
+ user: t.IntersectionC<[t.TypeC<{
18
+ pub: t.StringC;
19
+ }>, t.PartialC<{
20
+ prv: t.StringC;
21
+ encryptedPrv: t.StringC;
22
+ }>]>;
23
+ backup: t.IntersectionC<[t.TypeC<{
24
+ pub: t.StringC;
25
+ }>, t.PartialC<{
26
+ prv: t.StringC;
27
+ encryptedPrv: t.StringC;
28
+ }>]>;
29
+ bitgo: t.IntersectionC<[t.TypeC<{
30
+ pub: t.StringC;
31
+ }>, t.PartialC<{
32
+ prv: t.StringC;
33
+ encryptedPrv: t.StringC;
34
+ }>]>;
35
+ }>;
36
+ export type UtxoNamedKeychains = t.TypeOf<typeof UtxoNamedKeychains>;
37
+ export declare function toKeychainTriple(keychains: UtxoNamedKeychains): Triple<UtxoKeychain>;
38
+ export declare function toBip32Triple(keychains: UtxoNamedKeychains | Triple<{
39
+ pub: string;
40
+ }> | Triple<string>): Triple<utxolib.BIP32Interface>;
41
+ export declare function fetchKeychains(coin: AbstractUtxoCoin, wallet: IWallet, reqId?: IRequestTracer): Promise<UtxoNamedKeychains>;
42
+ export declare const KeySignatures: t.PartialC<{
43
+ backupPub: t.StringC;
44
+ bitgoPub: t.StringC;
45
+ }>;
46
+ export type KeySignatures = t.TypeOf<typeof KeySignatures>;
47
+ export declare function getKeySignatures(wallet: UtxoWallet): KeySignatures | undefined;
48
+ //# sourceMappingURL=keychains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keychains.d.ts","sourceRoot":"","sources":["../../src/keychains.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,OAAO,EAA4B,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAUtC;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;IAWxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEzD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;EAI7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,CAGpF;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GACvE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAShC;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAQ7B;AAED,eAAO,MAAM,aAAa;;;EAGxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAE3D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAK9E"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.KeySignatures = exports.UtxoNamedKeychains = exports.UtxoKeychain = void 0;
40
+ exports.toKeychainTriple = toKeychainTriple;
41
+ exports.toBip32Triple = toBip32Triple;
42
+ exports.fetchKeychains = fetchKeychains;
43
+ exports.getKeySignatures = getKeySignatures;
44
+ const assert_1 = __importDefault(require("assert"));
45
+ const t = __importStar(require("io-ts"));
46
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
47
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
48
+ /*
49
+
50
+ The standard Keychain type from sdk-core requires a bunch of uninteresting parameters like `id` and `type` and leaves
51
+ important fields like `pub` and `prv` optional.
52
+
53
+ This is a more focused type that only includes the fields we care about.
54
+ */
55
+ /**
56
+ * A keychain for a UTXO wallet.
57
+ */
58
+ exports.UtxoKeychain = t.intersection([
59
+ t.type({
60
+ pub: t.string,
61
+ }),
62
+ t.partial({
63
+ prv: t.string,
64
+ encryptedPrv: t.string,
65
+ }),
66
+ ], 'UtxoKeychain');
67
+ exports.UtxoNamedKeychains = t.type({
68
+ user: exports.UtxoKeychain,
69
+ backup: exports.UtxoKeychain,
70
+ bitgo: exports.UtxoKeychain,
71
+ });
72
+ function toKeychainTriple(keychains) {
73
+ const { user, backup, bitgo } = keychains;
74
+ return [user, backup, bitgo];
75
+ }
76
+ function toBip32Triple(keychains) {
77
+ if (Array.isArray(keychains)) {
78
+ return keychains.map((keychain) => {
79
+ const v = typeof keychain === 'string' ? keychain : keychain.pub;
80
+ return utxolib.bip32.fromBase58(v);
81
+ });
82
+ }
83
+ return toBip32Triple(toKeychainTriple(keychains));
84
+ }
85
+ async function fetchKeychains(coin, wallet, reqId) {
86
+ const result = await (0, sdk_core_1.promiseProps)({
87
+ user: coin.keychains().get({ id: wallet.keyIds()[sdk_core_1.KeyIndices.USER], reqId }),
88
+ backup: coin.keychains().get({ id: wallet.keyIds()[sdk_core_1.KeyIndices.BACKUP], reqId }),
89
+ bitgo: coin.keychains().get({ id: wallet.keyIds()[sdk_core_1.KeyIndices.BITGO], reqId }),
90
+ });
91
+ (0, assert_1.default)(exports.UtxoNamedKeychains.is(result));
92
+ return result;
93
+ }
94
+ exports.KeySignatures = t.partial({
95
+ backupPub: t.string,
96
+ bitgoPub: t.string,
97
+ });
98
+ function getKeySignatures(wallet) {
99
+ if (t.partial({ keySignatures: exports.KeySignatures }).is(wallet._wallet)) {
100
+ return wallet._wallet.keySignatures;
101
+ }
102
+ return undefined;
103
+ }
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQ0EsNENBR0M7QUFFRCxzQ0FXQztBQUVELHdDQVlDO0FBU0QsNENBS0M7QUF2RkQsb0RBQTRCO0FBRTVCLHlDQUEyQjtBQUMzQiw4REFBZ0Q7QUFDaEQsbURBQWlHO0FBS2pHOzs7Ozs7R0FNRztBQUVIOztHQUVHO0FBQ1UsUUFBQSxZQUFZLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDeEM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQ2QsQ0FBQztJQUNGLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDUixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDYixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDdkIsQ0FBQztDQUNILEVBQ0QsY0FBYyxDQUNmLENBQUM7QUFJVyxRQUFBLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsSUFBSSxFQUFFLG9CQUFZO0lBQ2xCLE1BQU0sRUFBRSxvQkFBWTtJQUNwQixLQUFLLEVBQUUsb0JBQVk7Q0FDcEIsQ0FBQyxDQUFDO0FBSUgsU0FBZ0IsZ0JBQWdCLENBQUMsU0FBNkI7SUFDNUQsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQzFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQzNCLFNBQXdFO0lBRXhFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQWtDLEVBQUUsRUFBRTtZQUMxRCxNQUFNLENBQUMsR0FBRyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNqRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBbUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRU0sS0FBSyxVQUFVLGNBQWMsQ0FDbEMsSUFBc0IsRUFDdEIsTUFBZSxFQUNmLEtBQXNCO0lBRXRCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSx1QkFBWSxFQUFDO1FBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzNFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQy9FLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzlFLENBQUMsQ0FBQztJQUNILElBQUEsZ0JBQU0sRUFBQywwQkFBa0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRVksUUFBQSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNyQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ25CLENBQUMsQ0FBQztBQUlILFNBQWdCLGdCQUFnQixDQUFDLE1BQWtCO0lBQ2pELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsRUFBRSxxQkFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbkUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyLCBJV2FsbGV0LCBLZXlJbmRpY2VzLCBwcm9taXNlUHJvcHMsIFRyaXBsZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiB9IGZyb20gJy4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBVdHhvV2FsbGV0IH0gZnJvbSAnLi93YWxsZXQnO1xuXG4vKlxuXG5UaGUgc3RhbmRhcmQgS2V5Y2hhaW4gdHlwZSBmcm9tIHNkay1jb3JlIHJlcXVpcmVzIGEgYnVuY2ggb2YgdW5pbnRlcmVzdGluZyBwYXJhbWV0ZXJzIGxpa2UgYGlkYCBhbmQgYHR5cGVgIGFuZCBsZWF2ZXNcbmltcG9ydGFudCBmaWVsZHMgbGlrZSBgcHViYCBhbmQgYHBydmAgb3B0aW9uYWwuXG5cblRoaXMgaXMgYSBtb3JlIGZvY3VzZWQgdHlwZSB0aGF0IG9ubHkgaW5jbHVkZXMgdGhlIGZpZWxkcyB3ZSBjYXJlIGFib3V0LlxuICovXG5cbi8qKlxuICogQSBrZXljaGFpbiBmb3IgYSBVVFhPIHdhbGxldC5cbiAqL1xuZXhwb3J0IGNvbnN0IFV0eG9LZXljaGFpbiA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgdC50eXBlKHtcbiAgICAgIHB1YjogdC5zdHJpbmcsXG4gICAgfSksXG4gICAgdC5wYXJ0aWFsKHtcbiAgICAgIHBydjogdC5zdHJpbmcsXG4gICAgICBlbmNyeXB0ZWRQcnY6IHQuc3RyaW5nLFxuICAgIH0pLFxuICBdLFxuICAnVXR4b0tleWNoYWluJ1xuKTtcblxuZXhwb3J0IHR5cGUgVXR4b0tleWNoYWluID0gdC5UeXBlT2Y8dHlwZW9mIFV0eG9LZXljaGFpbj47XG5cbmV4cG9ydCBjb25zdCBVdHhvTmFtZWRLZXljaGFpbnMgPSB0LnR5cGUoe1xuICB1c2VyOiBVdHhvS2V5Y2hhaW4sXG4gIGJhY2t1cDogVXR4b0tleWNoYWluLFxuICBiaXRnbzogVXR4b0tleWNoYWluLFxufSk7XG5cbmV4cG9ydCB0eXBlIFV0eG9OYW1lZEtleWNoYWlucyA9IHQuVHlwZU9mPHR5cGVvZiBVdHhvTmFtZWRLZXljaGFpbnM+O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9LZXljaGFpblRyaXBsZShrZXljaGFpbnM6IFV0eG9OYW1lZEtleWNoYWlucyk6IFRyaXBsZTxVdHhvS2V5Y2hhaW4+IHtcbiAgY29uc3QgeyB1c2VyLCBiYWNrdXAsIGJpdGdvIH0gPSBrZXljaGFpbnM7XG4gIHJldHVybiBbdXNlciwgYmFja3VwLCBiaXRnb107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0JpcDMyVHJpcGxlKFxuICBrZXljaGFpbnM6IFV0eG9OYW1lZEtleWNoYWlucyB8IFRyaXBsZTx7IHB1Yjogc3RyaW5nIH0+IHwgVHJpcGxlPHN0cmluZz5cbik6IFRyaXBsZTx1dHhvbGliLkJJUDMySW50ZXJmYWNlPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGtleWNoYWlucykpIHtcbiAgICByZXR1cm4ga2V5Y2hhaW5zLm1hcCgoa2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfSB8IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdiA9IHR5cGVvZiBrZXljaGFpbiA9PT0gJ3N0cmluZycgPyBrZXljaGFpbiA6IGtleWNoYWluLnB1YjtcbiAgICAgIHJldHVybiB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgodik7XG4gICAgfSkgYXMgVHJpcGxlPHV0eG9saWIuQklQMzJJbnRlcmZhY2U+O1xuICB9XG5cbiAgcmV0dXJuIHRvQmlwMzJUcmlwbGUodG9LZXljaGFpblRyaXBsZShrZXljaGFpbnMpKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoS2V5Y2hhaW5zKFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICB3YWxsZXQ6IElXYWxsZXQsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8VXR4b05hbWVkS2V5Y2hhaW5zPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VQcm9wcyh7XG4gICAgdXNlcjogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0sIHJlcUlkIH0pLFxuICAgIGJhY2t1cDogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuQkFDS1VQXSwgcmVxSWQgfSksXG4gICAgYml0Z286IGNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHdhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLkJJVEdPXSwgcmVxSWQgfSksXG4gIH0pO1xuICBhc3NlcnQoVXR4b05hbWVkS2V5Y2hhaW5zLmlzKHJlc3VsdCkpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgY29uc3QgS2V5U2lnbmF0dXJlcyA9IHQucGFydGlhbCh7XG4gIGJhY2t1cFB1YjogdC5zdHJpbmcsXG4gIGJpdGdvUHViOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgdHlwZSBLZXlTaWduYXR1cmVzID0gdC5UeXBlT2Y8dHlwZW9mIEtleVNpZ25hdHVyZXM+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5U2lnbmF0dXJlcyh3YWxsZXQ6IFV0eG9XYWxsZXQpOiBLZXlTaWduYXR1cmVzIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHQucGFydGlhbCh7IGtleVNpZ25hdHVyZXM6IEtleVNpZ25hdHVyZXMgfSkuaXMod2FsbGV0Ll93YWxsZXQpKSB7XG4gICAgcmV0dXJuIHdhbGxldC5fd2FsbGV0LmtleVNpZ25hdHVyZXM7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ /**
3
+ * @param n
4
+ * @returns the family name for a network. Testnets and mainnets of the same coin share the same family name.
5
+ */
6
+ export declare function getFamilyFromNetwork(n: utxolib.Network): string;
7
+ /**
8
+ * Get the chain name for a network.
9
+ * The chain is different for every network.
10
+ */
11
+ export declare function getChainFromNetwork(n: utxolib.Network): string;
12
+ export declare function getFullNameFromNetwork(n: utxolib.Network): string;
13
+ //# sourceMappingURL=names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAUhD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAiC/D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CA6B9D;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAwDjE"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getFamilyFromNetwork = getFamilyFromNetwork;
37
+ exports.getChainFromNetwork = getChainFromNetwork;
38
+ exports.getFullNameFromNetwork = getFullNameFromNetwork;
39
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
40
+ function getNetworkName(n) {
41
+ const name = utxolib.getNetworkName(n);
42
+ if (!name) {
43
+ throw new Error('Unknown network');
44
+ }
45
+ return name;
46
+ }
47
+ /**
48
+ * @param n
49
+ * @returns the family name for a network. Testnets and mainnets of the same coin share the same family name.
50
+ */
51
+ function getFamilyFromNetwork(n) {
52
+ switch (getNetworkName(n)) {
53
+ case 'bitcoin':
54
+ case 'testnet':
55
+ case 'bitcoinPublicSignet':
56
+ case 'bitcoinTestnet4':
57
+ case 'bitcoinBitGoSignet':
58
+ return 'btc';
59
+ case 'bitcoincash':
60
+ case 'bitcoincashTestnet':
61
+ return 'bch';
62
+ case 'ecash':
63
+ case 'ecashTest':
64
+ return 'bcha';
65
+ case 'bitcoingold':
66
+ case 'bitcoingoldTestnet':
67
+ return 'btg';
68
+ case 'bitcoinsv':
69
+ case 'bitcoinsvTestnet':
70
+ return 'bsv';
71
+ case 'dash':
72
+ case 'dashTest':
73
+ return 'dash';
74
+ case 'dogecoin':
75
+ case 'dogecoinTest':
76
+ return 'doge';
77
+ case 'litecoin':
78
+ case 'litecoinTest':
79
+ return 'ltc';
80
+ case 'zcash':
81
+ case 'zcashTest':
82
+ return 'zec';
83
+ }
84
+ }
85
+ /**
86
+ * Get the chain name for a network.
87
+ * The chain is different for every network.
88
+ */
89
+ function getChainFromNetwork(n) {
90
+ switch (getNetworkName(n)) {
91
+ case 'bitcoinPublicSignet':
92
+ return 'tbtcsig';
93
+ case 'bitcoinTestnet4':
94
+ return 'tbtc4';
95
+ case 'bitcoinBitGoSignet':
96
+ return 'tbtcbgsig';
97
+ case 'bitcoin':
98
+ case 'testnet':
99
+ case 'bitcoincash':
100
+ case 'bitcoincashTestnet':
101
+ case 'ecash':
102
+ case 'ecashTest':
103
+ case 'bitcoingold':
104
+ case 'bitcoingoldTestnet':
105
+ case 'bitcoinsv':
106
+ case 'bitcoinsvTestnet':
107
+ case 'dash':
108
+ case 'dashTest':
109
+ case 'dogecoin':
110
+ case 'dogecoinTest':
111
+ case 'litecoin':
112
+ case 'litecoinTest':
113
+ case 'zcash':
114
+ case 'zcashTest':
115
+ const mainnetName = getFamilyFromNetwork(n);
116
+ return utxolib.isTestnet(n) ? `t${mainnetName}` : mainnetName;
117
+ }
118
+ }
119
+ function getFullNameFromNetwork(n) {
120
+ const name = getNetworkName(n);
121
+ let prefix;
122
+ switch (name) {
123
+ case 'bitcoinTestnet4':
124
+ prefix = 'Testnet4 ';
125
+ break;
126
+ case 'bitcoinPublicSignet':
127
+ prefix = 'Public Signet ';
128
+ break;
129
+ case 'bitcoinBitGoSignet':
130
+ prefix = 'BitGo Signet ';
131
+ break;
132
+ default:
133
+ if (utxolib.isTestnet(n)) {
134
+ prefix = 'Testnet ';
135
+ }
136
+ else {
137
+ prefix = '';
138
+ }
139
+ }
140
+ switch (name) {
141
+ case 'bitcoin':
142
+ case 'testnet':
143
+ case 'bitcoinTestnet4':
144
+ case 'bitcoinPublicSignet':
145
+ case 'bitcoinBitGoSignet':
146
+ return prefix + 'Bitcoin';
147
+ case 'bitcoincash':
148
+ case 'bitcoincashTestnet':
149
+ return prefix + 'Bitcoin Cash';
150
+ case 'ecash':
151
+ case 'ecashTest':
152
+ return prefix + 'Bitcoin ABC';
153
+ case 'bitcoingold':
154
+ case 'bitcoingoldTestnet':
155
+ return prefix + 'Bitcoin Gold';
156
+ case 'bitcoinsv':
157
+ case 'bitcoinsvTestnet':
158
+ return prefix + 'Bitcoin SV';
159
+ case 'dash':
160
+ case 'dashTest':
161
+ return prefix + 'Dash';
162
+ case 'dogecoin':
163
+ case 'dogecoinTest':
164
+ return prefix + 'Dogecoin';
165
+ case 'litecoin':
166
+ case 'litecoinTest':
167
+ return prefix + 'Litecoin';
168
+ case 'zcash':
169
+ case 'zcashTest':
170
+ return prefix + 'ZCash';
171
+ default:
172
+ throw new Error('Unknown network');
173
+ }
174
+ }
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSxvREFpQ0M7QUFNRCxrREE2QkM7QUFFRCx3REF3REM7QUE1SUQsOERBQWdEO0FBRWhELFNBQVMsY0FBYyxDQUFDLENBQWtCO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxDQUFrQjtJQUNyRCxRQUFRLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLHFCQUFxQixDQUFDO1FBQzNCLEtBQUssaUJBQWlCLENBQUM7UUFDdkIsS0FBSyxvQkFBb0I7WUFDdkIsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLGFBQWEsQ0FBQztRQUNuQixLQUFLLG9CQUFvQjtZQUN2QixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxXQUFXO1lBQ2QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxhQUFhLENBQUM7UUFDbkIsS0FBSyxvQkFBb0I7WUFDdkIsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLGtCQUFrQjtZQUNyQixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxVQUFVO1lBQ2IsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxVQUFVLENBQUM7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UUFDWixLQUFLLFVBQVU7WUFDYixPQUFPLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDekIsS0FBSyxVQUFVLENBQUM7UUFDaEIsS0FBSyxjQUFjO1lBQ2pCLE9BQU8sTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUM3QixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLGNBQWM7WUFDakIsT0FBTyxNQUFNLEdBQUcsVUFBVSxDQUFDO1FBQzdCLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxXQUFXO1lBQ2QsT0FBTyxNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQzFCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmZ1bmN0aW9uIGdldE5ldHdvcmtOYW1lKG46IHV0eG9saWIuTmV0d29yayk6IHV0eG9saWIuTmV0d29ya05hbWUge1xuICBjb25zdCBuYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShuKTtcbiAgaWYgKCFuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIG5ldHdvcmsnKTtcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gblxuICogQHJldHVybnMgdGhlIGZhbWlseSBuYW1lIGZvciBhIG5ldHdvcmsuIFRlc3RuZXRzIGFuZCBtYWlubmV0cyBvZiB0aGUgc2FtZSBjb2luIHNoYXJlIHRoZSBzYW1lIGZhbWlseSBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmFtaWx5RnJvbU5ldHdvcmsobjogdXR4b2xpYi5OZXR3b3JrKTogc3RyaW5nIHtcbiAgc3dpdGNoIChnZXROZXR3b3JrTmFtZShuKSkge1xuICAgIGNhc2UgJ2JpdGNvaW4nOlxuICAgIGNhc2UgJ3Rlc3RuZXQnOlxuICAgIGNhc2UgJ2JpdGNvaW5QdWJsaWNTaWduZXQnOlxuICAgIGNhc2UgJ2JpdGNvaW5UZXN0bmV0NCc6XG4gICAgY2FzZSAnYml0Y29pbkJpdEdvU2lnbmV0JzpcbiAgICAgIHJldHVybiAnYnRjJztcbiAgICBjYXNlICdiaXRjb2luY2FzaCc6XG4gICAgY2FzZSAnYml0Y29pbmNhc2hUZXN0bmV0JzpcbiAgICAgIHJldHVybiAnYmNoJztcbiAgICBjYXNlICdlY2FzaCc6XG4gICAgY2FzZSAnZWNhc2hUZXN0JzpcbiAgICAgIHJldHVybiAnYmNoYSc7XG4gICAgY2FzZSAnYml0Y29pbmdvbGQnOlxuICAgIGNhc2UgJ2JpdGNvaW5nb2xkVGVzdG5ldCc6XG4gICAgICByZXR1cm4gJ2J0Zyc7XG4gICAgY2FzZSAnYml0Y29pbnN2JzpcbiAgICBjYXNlICdiaXRjb2luc3ZUZXN0bmV0JzpcbiAgICAgIHJldHVybiAnYnN2JztcbiAgICBjYXNlICdkYXNoJzpcbiAgICBjYXNlICdkYXNoVGVzdCc6XG4gICAgICByZXR1cm4gJ2Rhc2gnO1xuICAgIGNhc2UgJ2RvZ2Vjb2luJzpcbiAgICBjYXNlICdkb2dlY29pblRlc3QnOlxuICAgICAgcmV0dXJuICdkb2dlJztcbiAgICBjYXNlICdsaXRlY29pbic6XG4gICAgY2FzZSAnbGl0ZWNvaW5UZXN0JzpcbiAgICAgIHJldHVybiAnbHRjJztcbiAgICBjYXNlICd6Y2FzaCc6XG4gICAgY2FzZSAnemNhc2hUZXN0JzpcbiAgICAgIHJldHVybiAnemVjJztcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgY2hhaW4gbmFtZSBmb3IgYSBuZXR3b3JrLlxuICogVGhlIGNoYWluIGlzIGRpZmZlcmVudCBmb3IgZXZlcnkgbmV0d29yay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENoYWluRnJvbU5ldHdvcmsobjogdXR4b2xpYi5OZXR3b3JrKTogc3RyaW5nIHtcbiAgc3dpdGNoIChnZXROZXR3b3JrTmFtZShuKSkge1xuICAgIGNhc2UgJ2JpdGNvaW5QdWJsaWNTaWduZXQnOlxuICAgICAgcmV0dXJuICd0YnRjc2lnJztcbiAgICBjYXNlICdiaXRjb2luVGVzdG5ldDQnOlxuICAgICAgcmV0dXJuICd0YnRjNCc7XG4gICAgY2FzZSAnYml0Y29pbkJpdEdvU2lnbmV0JzpcbiAgICAgIHJldHVybiAndGJ0Y2Jnc2lnJztcbiAgICBjYXNlICdiaXRjb2luJzpcbiAgICBjYXNlICd0ZXN0bmV0JzpcbiAgICBjYXNlICdiaXRjb2luY2FzaCc6XG4gICAgY2FzZSAnYml0Y29pbmNhc2hUZXN0bmV0JzpcbiAgICBjYXNlICdlY2FzaCc6XG4gICAgY2FzZSAnZWNhc2hUZXN0JzpcbiAgICBjYXNlICdiaXRjb2luZ29sZCc6XG4gICAgY2FzZSAnYml0Y29pbmdvbGRUZXN0bmV0JzpcbiAgICBjYXNlICdiaXRjb2luc3YnOlxuICAgIGNhc2UgJ2JpdGNvaW5zdlRlc3RuZXQnOlxuICAgIGNhc2UgJ2Rhc2gnOlxuICAgIGNhc2UgJ2Rhc2hUZXN0JzpcbiAgICBjYXNlICdkb2dlY29pbic6XG4gICAgY2FzZSAnZG9nZWNvaW5UZXN0JzpcbiAgICBjYXNlICdsaXRlY29pbic6XG4gICAgY2FzZSAnbGl0ZWNvaW5UZXN0JzpcbiAgICBjYXNlICd6Y2FzaCc6XG4gICAgY2FzZSAnemNhc2hUZXN0JzpcbiAgICAgIGNvbnN0IG1haW5uZXROYW1lID0gZ2V0RmFtaWx5RnJvbU5ldHdvcmsobik7XG4gICAgICByZXR1cm4gdXR4b2xpYi5pc1Rlc3RuZXQobikgPyBgdCR7bWFpbm5ldE5hbWV9YCA6IG1haW5uZXROYW1lO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsTmFtZUZyb21OZXR3b3JrKG46IHV0eG9saWIuTmV0d29yayk6IHN0cmluZyB7XG4gIGNvbnN0IG5hbWUgPSBnZXROZXR3b3JrTmFtZShuKTtcblxuICBsZXQgcHJlZml4OiBzdHJpbmc7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ2JpdGNvaW5UZXN0bmV0NCc6XG4gICAgICBwcmVmaXggPSAnVGVzdG5ldDQgJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2JpdGNvaW5QdWJsaWNTaWduZXQnOlxuICAgICAgcHJlZml4ID0gJ1B1YmxpYyBTaWduZXQgJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2JpdGNvaW5CaXRHb1NpZ25ldCc6XG4gICAgICBwcmVmaXggPSAnQml0R28gU2lnbmV0ICc7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKHV0eG9saWIuaXNUZXN0bmV0KG4pKSB7XG4gICAgICAgIHByZWZpeCA9ICdUZXN0bmV0ICc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmVmaXggPSAnJztcbiAgICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ2JpdGNvaW4nOlxuICAgIGNhc2UgJ3Rlc3RuZXQnOlxuICAgIGNhc2UgJ2JpdGNvaW5UZXN0bmV0NCc6XG4gICAgY2FzZSAnYml0Y29pblB1YmxpY1NpZ25ldCc6XG4gICAgY2FzZSAnYml0Y29pbkJpdEdvU2lnbmV0JzpcbiAgICAgIHJldHVybiBwcmVmaXggKyAnQml0Y29pbic7XG4gICAgY2FzZSAnYml0Y29pbmNhc2gnOlxuICAgIGNhc2UgJ2JpdGNvaW5jYXNoVGVzdG5ldCc6XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ0JpdGNvaW4gQ2FzaCc7XG4gICAgY2FzZSAnZWNhc2gnOlxuICAgIGNhc2UgJ2VjYXNoVGVzdCc6XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ0JpdGNvaW4gQUJDJztcbiAgICBjYXNlICdiaXRjb2luZ29sZCc6XG4gICAgY2FzZSAnYml0Y29pbmdvbGRUZXN0bmV0JzpcbiAgICAgIHJldHVybiBwcmVmaXggKyAnQml0Y29pbiBHb2xkJztcbiAgICBjYXNlICdiaXRjb2luc3YnOlxuICAgIGNhc2UgJ2JpdGNvaW5zdlRlc3RuZXQnOlxuICAgICAgcmV0dXJuIHByZWZpeCArICdCaXRjb2luIFNWJztcbiAgICBjYXNlICdkYXNoJzpcbiAgICBjYXNlICdkYXNoVGVzdCc6XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ0Rhc2gnO1xuICAgIGNhc2UgJ2RvZ2Vjb2luJzpcbiAgICBjYXNlICdkb2dlY29pblRlc3QnOlxuICAgICAgcmV0dXJuIHByZWZpeCArICdEb2dlY29pbic7XG4gICAgY2FzZSAnbGl0ZWNvaW4nOlxuICAgIGNhc2UgJ2xpdGVjb2luVGVzdCc6XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ0xpdGVjb2luJztcbiAgICBjYXNlICd6Y2FzaCc6XG4gICAgY2FzZSAnemNhc2hUZXN0JzpcbiAgICAgIHJldHVybiBwcmVmaXggKyAnWkNhc2gnO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbmV0d29yaycpO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { AddressInfo, TransactionIO } from '@bitgo-beta/blockapis';
2
2
  import { bitgo } from '@bitgo-beta/utxo-lib';
3
- declare type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
3
+ type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
4
4
  /**
5
5
  * An account with bear minimum information required for recoveries.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryProvider.d.ts","sourceRoot":"","sources":["../../../src/recovery/RecoveryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAElG,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,aAAK,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACxE,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1E,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACxD;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAiBrF"}
1
+ {"version":3,"file":"RecoveryProvider.d.ts","sourceRoot":"","sources":["../../../src/recovery/RecoveryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI7C,KAAK,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACxE,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1E,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACxD;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAgBrF"}
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.forCoin = void 0;
3
+ exports.forCoin = forCoin;
4
4
  const blockapis_1 = require("@bitgo-beta/blockapis");
5
5
  const baseApi_1 = require("./baseApi");
6
6
  function forCoin(coinName, apiToken) {
7
7
  switch (coinName) {
8
8
  case 'btc':
9
9
  case 'tbtc':
10
- return blockapis_1.BlockstreamApi.forCoin(coinName);
11
10
  case 'bch':
12
11
  case 'bcha':
13
12
  case 'bsv':
@@ -20,5 +19,4 @@ function forCoin(coinName, apiToken) {
20
19
  }
21
20
  throw new baseApi_1.ApiNotImplementedError(coinName);
22
21
  }
23
- exports.forCoin = forCoin;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3ZlcnlQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWNvdmVyeS9SZWNvdmVyeVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRztBQUNsRyx1Q0FBbUQ7QUF1Qm5ELFNBQWdCLE9BQU8sQ0FBQyxRQUFnQixFQUFFLFFBQWlCO0lBQ3pELFFBQVEsUUFBUSxFQUFFO1FBQ2hCLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1QsT0FBTywwQkFBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSztZQUNSLE9BQU8seUJBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztLQUN4RDtJQUVELE1BQU0sSUFBSSxnQ0FBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBakJELDBCQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJsb2NrY2hhaXJBcGksIEJsb2Nrc3RyZWFtQXBpLCBBZGRyZXNzSW5mbywgVHJhbnNhY3Rpb25JTyB9IGZyb20gJ0BiaXRnby1iZXRhL2Jsb2NrYXBpcyc7XG5pbXBvcnQgeyBBcGlOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi9iYXNlQXBpJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG50eXBlIFVuc3BlbnQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4gPSBiaXRnby5VbnNwZW50PFROdW1iZXI+O1xuXG4vKipcbiAqIEFuIGFjY291bnQgd2l0aCBiZWFyIG1pbmltdW0gaW5mb3JtYXRpb24gcmVxdWlyZWQgZm9yIHJlY292ZXJpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlBY2NvdW50RGF0YSB7XG4gIHR4Q291bnQ6IG51bWJlcjtcbiAgdG90YWxCYWxhbmNlOiBudW1iZXI7XG59XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgQWRkcmVzc0FwaSAmIFV0eG9BcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyeVByb3ZpZGVyPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+IHtcbiAgZ2V0VW5zcGVudHNGb3JBZGRyZXNzZXMoYWRkcmVzc2VzOiBzdHJpbmdbXSk6IFByb21pc2U8VW5zcGVudDxUTnVtYmVyPltdPjtcbiAgZ2V0QWRkcmVzc0luZm8oYWRkcmVzczogc3RyaW5nKTogUHJvbWlzZTxBZGRyZXNzSW5mbz47XG4gIGdldFRyYW5zYWN0aW9uSGV4KHR4aWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPjtcbiAgZ2V0VHJhbnNhY3Rpb25JTyh0eGlkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSU8+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yQ29pbihjb2luTmFtZTogc3RyaW5nLCBhcGlUb2tlbj86IHN0cmluZyk6IFJlY292ZXJ5UHJvdmlkZXI8bnVtYmVyPiB7XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICdidGMnOlxuICAgIGNhc2UgJ3RidGMnOlxuICAgICAgcmV0dXJuIEJsb2Nrc3RyZWFtQXBpLmZvckNvaW4oY29pbk5hbWUpO1xuICAgIGNhc2UgJ2JjaCc6XG4gICAgY2FzZSAnYmNoYSc6XG4gICAgY2FzZSAnYnN2JzpcbiAgICBjYXNlICdidGcnOlxuICAgIGNhc2UgJ2Rhc2gnOlxuICAgIGNhc2UgJ2RvZ2UnOlxuICAgIGNhc2UgJ2x0Yyc6XG4gICAgY2FzZSAnemVjJzpcbiAgICAgIHJldHVybiBCbG9ja2NoYWlyQXBpLmZvckNvaW4oY29pbk5hbWUsIHsgYXBpVG9rZW4gfSk7XG4gIH1cblxuICB0aHJvdyBuZXcgQXBpTm90SW1wbGVtZW50ZWRFcnJvcihjb2luTmFtZSk7XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3ZlcnlQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWNvdmVyeS9SZWNvdmVyeVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUJBLDBCQWdCQztBQXpDRCxxREFBa0Y7QUFHbEYsdUNBQW1EO0FBc0JuRCxTQUFnQixPQUFPLENBQUMsUUFBZ0IsRUFBRSxRQUFpQjtJQUN6RCxRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSztZQUNSLE9BQU8seUJBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxJQUFJLGdDQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbG9ja2NoYWlyQXBpLCBBZGRyZXNzSW5mbywgVHJhbnNhY3Rpb25JTyB9IGZyb20gJ0BiaXRnby1iZXRhL2Jsb2NrYXBpcyc7XG5pbXBvcnQgeyBiaXRnbyB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgQXBpTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJy4vYmFzZUFwaSc7XG5cbnR5cGUgVW5zcGVudDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPiA9IGJpdGdvLlVuc3BlbnQ8VE51bWJlcj47XG5cbi8qKlxuICogQW4gYWNjb3VudCB3aXRoIGJlYXIgbWluaW11bSBpbmZvcm1hdGlvbiByZXF1aXJlZCBmb3IgcmVjb3Zlcmllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyeUFjY291bnREYXRhIHtcbiAgdHhDb3VudDogbnVtYmVyO1xuICB0b3RhbEJhbGFuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZvciBBZGRyZXNzQXBpICYgVXR4b0FwaVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5UHJvdmlkZXI8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4ge1xuICBnZXRVbnNwZW50c0ZvckFkZHJlc3NlcyhhZGRyZXNzZXM6IHN0cmluZ1tdKTogUHJvbWlzZTxVbnNwZW50PFROdW1iZXI+W10+O1xuICBnZXRBZGRyZXNzSW5mbyhhZGRyZXNzOiBzdHJpbmcpOiBQcm9taXNlPEFkZHJlc3NJbmZvPjtcbiAgZ2V0VHJhbnNhY3Rpb25IZXgodHhpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICBnZXRUcmFuc2FjdGlvbklPKHR4aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JTz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JDb2luKGNvaW5OYW1lOiBzdHJpbmcsIGFwaVRva2VuPzogc3RyaW5nKTogUmVjb3ZlcnlQcm92aWRlcjxudW1iZXI+IHtcbiAgc3dpdGNoIChjb2luTmFtZSkge1xuICAgIGNhc2UgJ2J0Yyc6XG4gICAgY2FzZSAndGJ0Yyc6XG4gICAgY2FzZSAnYmNoJzpcbiAgICBjYXNlICdiY2hhJzpcbiAgICBjYXNlICdic3YnOlxuICAgIGNhc2UgJ2J0Zyc6XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgY2FzZSAnZG9nZSc6XG4gICAgY2FzZSAnbHRjJzpcbiAgICBjYXNlICd6ZWMnOlxuICAgICAgcmV0dXJuIEJsb2NrY2hhaXJBcGkuZm9yQ29pbihjb2luTmFtZSwgeyBhcGlUb2tlbiB9KTtcbiAgfVxuXG4gIHRocm93IG5ldyBBcGlOb3RJbXBsZW1lbnRlZEVycm9yKGNvaW5OYW1lKTtcbn1cbiJdfQ==