@bitgo-beta/abstract-utxo 1.6.1-alpha.26 → 1.6.1-alpha.260

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 (205) hide show
  1. package/dist/src/abstractUtxoCoin.d.ts +192 -98
  2. package/dist/src/abstractUtxoCoin.d.ts.map +1 -1
  3. package/dist/src/abstractUtxoCoin.js +290 -541
  4. package/dist/src/core/descriptor/DescriptorMap.d.ts +9 -0
  5. package/dist/src/core/descriptor/DescriptorMap.d.ts.map +1 -0
  6. package/dist/src/core/descriptor/DescriptorMap.js +12 -0
  7. package/dist/src/core/descriptor/Output.d.ts +24 -0
  8. package/dist/src/core/descriptor/Output.d.ts.map +1 -0
  9. package/dist/src/core/descriptor/Output.js +22 -0
  10. package/dist/src/core/descriptor/VirtualSize.d.ts +21 -0
  11. package/dist/src/core/descriptor/VirtualSize.d.ts.map +1 -0
  12. package/dist/src/core/descriptor/VirtualSize.js +83 -0
  13. package/dist/src/core/descriptor/address.d.ts +5 -0
  14. package/dist/src/core/descriptor/address.d.ts.map +1 -0
  15. package/dist/src/core/descriptor/address.js +48 -0
  16. package/dist/src/core/descriptor/index.d.ts +9 -0
  17. package/dist/src/core/descriptor/index.d.ts.map +1 -0
  18. package/dist/src/core/descriptor/index.js +17 -0
  19. package/dist/src/core/descriptor/psbt/assertSatisfiable.d.ts +20 -0
  20. package/dist/src/core/descriptor/psbt/assertSatisfiable.d.ts.map +1 -0
  21. package/dist/src/core/descriptor/psbt/assertSatisfiable.js +74 -0
  22. package/dist/src/core/descriptor/psbt/createPsbt.d.ts +15 -0
  23. package/dist/src/core/descriptor/psbt/createPsbt.d.ts.map +1 -0
  24. package/dist/src/core/descriptor/psbt/createPsbt.js +82 -0
  25. package/dist/src/core/descriptor/psbt/findDescriptors.d.ts +22 -0
  26. package/dist/src/core/descriptor/psbt/findDescriptors.d.ts.map +1 -0
  27. package/dist/src/core/descriptor/psbt/findDescriptors.js +74 -0
  28. package/dist/src/core/descriptor/psbt/index.d.ts +5 -0
  29. package/dist/src/core/descriptor/psbt/index.d.ts.map +1 -0
  30. package/dist/src/core/descriptor/psbt/index.js +10 -0
  31. package/dist/src/core/descriptor/psbt/parse.d.ts +27 -0
  32. package/dist/src/core/descriptor/psbt/parse.d.ts.map +1 -0
  33. package/dist/src/core/descriptor/psbt/parse.js +87 -0
  34. package/dist/src/core/descriptor/psbt/wrap.d.ts +12 -0
  35. package/dist/src/core/descriptor/psbt/wrap.d.ts.map +1 -0
  36. package/dist/src/core/descriptor/psbt/wrap.js +76 -0
  37. package/dist/src/core/descriptor/signTxLocal.d.ts +3 -0
  38. package/dist/src/core/descriptor/signTxLocal.d.ts.map +1 -0
  39. package/dist/src/core/descriptor/signTxLocal.js +9 -0
  40. package/dist/src/descriptor/NamedDescriptor.d.ts +18 -0
  41. package/dist/src/descriptor/NamedDescriptor.d.ts.map +1 -0
  42. package/dist/src/descriptor/NamedDescriptor.js +75 -0
  43. package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  44. package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  45. package/dist/src/descriptor/assertDescriptorWalletAddress.js +66 -0
  46. package/dist/src/descriptor/builder/builder.d.ts +13 -0
  47. package/dist/src/descriptor/builder/builder.d.ts.map +1 -0
  48. package/dist/src/descriptor/builder/builder.js +37 -0
  49. package/dist/src/descriptor/builder/index.d.ts +3 -0
  50. package/dist/src/descriptor/builder/index.d.ts.map +1 -0
  51. package/dist/src/descriptor/builder/index.js +8 -0
  52. package/dist/src/descriptor/builder/parse.d.ts +5 -0
  53. package/dist/src/descriptor/builder/parse.d.ts.map +1 -0
  54. package/dist/src/descriptor/builder/parse.js +149 -0
  55. package/dist/src/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  56. package/dist/src/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  57. package/dist/src/descriptor/createWallet/createDescriptorWallet.js +74 -0
  58. package/dist/src/descriptor/createWallet/createDescriptors.d.ts +12 -0
  59. package/dist/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  60. package/dist/src/descriptor/createWallet/createDescriptors.js +33 -0
  61. package/dist/src/descriptor/createWallet/index.d.ts +3 -0
  62. package/dist/src/descriptor/createWallet/index.d.ts.map +1 -0
  63. package/dist/src/descriptor/createWallet/index.js +19 -0
  64. package/dist/src/descriptor/descriptorWallet.d.ts +19 -0
  65. package/dist/src/descriptor/descriptorWallet.d.ts.map +1 -0
  66. package/dist/src/descriptor/descriptorWallet.js +54 -0
  67. package/dist/src/descriptor/index.d.ts +7 -0
  68. package/dist/src/descriptor/index.d.ts.map +1 -0
  69. package/dist/src/descriptor/index.js +52 -0
  70. package/dist/src/descriptor/validatePolicy.d.ts +23 -0
  71. package/dist/src/descriptor/validatePolicy.d.ts.map +1 -0
  72. package/dist/src/descriptor/validatePolicy.js +91 -0
  73. package/dist/src/index.d.ts +3 -0
  74. package/dist/src/index.d.ts.map +1 -1
  75. package/dist/src/index.js +31 -2
  76. package/dist/src/keychains.d.ts +48 -0
  77. package/dist/src/keychains.d.ts.map +1 -0
  78. package/dist/src/keychains.js +104 -0
  79. package/dist/src/names.d.ts +18 -0
  80. package/dist/src/names.d.ts.map +1 -0
  81. package/dist/src/names.js +188 -0
  82. package/dist/src/offlineVault/OfflineVaultHalfSigned.d.ts +8 -0
  83. package/dist/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  84. package/dist/src/offlineVault/OfflineVaultHalfSigned.js +59 -0
  85. package/dist/src/offlineVault/OfflineVaultSignable.d.ts +46 -0
  86. package/dist/src/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  87. package/dist/src/offlineVault/OfflineVaultSignable.js +55 -0
  88. package/dist/src/offlineVault/TransactionExplanation.d.ts +15 -0
  89. package/dist/src/offlineVault/TransactionExplanation.d.ts.map +1 -0
  90. package/dist/src/offlineVault/TransactionExplanation.js +16 -0
  91. package/dist/src/offlineVault/descriptor/index.d.ts +2 -0
  92. package/dist/src/offlineVault/descriptor/index.d.ts.map +1 -0
  93. package/dist/src/offlineVault/descriptor/index.js +18 -0
  94. package/dist/src/offlineVault/descriptor/transaction.d.ts +38 -0
  95. package/dist/src/offlineVault/descriptor/transaction.d.ts.map +1 -0
  96. package/dist/src/offlineVault/descriptor/transaction.js +80 -0
  97. package/dist/src/offlineVault/index.d.ts +6 -0
  98. package/dist/src/offlineVault/index.d.ts.map +1 -0
  99. package/dist/src/offlineVault/index.js +44 -0
  100. package/dist/src/recovery/RecoveryProvider.d.ts +1 -1
  101. package/dist/src/recovery/RecoveryProvider.d.ts.map +1 -1
  102. package/dist/src/recovery/RecoveryProvider.js +2 -4
  103. package/dist/src/recovery/backupKeyRecovery.d.ts +41 -16
  104. package/dist/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  105. package/dist/src/recovery/backupKeyRecovery.js +168 -96
  106. package/dist/src/recovery/baseApi.d.ts +3 -6
  107. package/dist/src/recovery/baseApi.d.ts.map +1 -1
  108. package/dist/src/recovery/baseApi.js +6 -6
  109. package/dist/src/recovery/coingeckoApi.d.ts +0 -3
  110. package/dist/src/recovery/coingeckoApi.d.ts.map +1 -1
  111. package/dist/src/recovery/coingeckoApi.js +1 -4
  112. package/dist/src/recovery/crossChainRecovery.d.ts +12 -3
  113. package/dist/src/recovery/crossChainRecovery.d.ts.map +1 -1
  114. package/dist/src/recovery/crossChainRecovery.js +93 -21
  115. package/dist/src/recovery/index.d.ts +0 -1
  116. package/dist/src/recovery/index.d.ts.map +1 -1
  117. package/dist/src/recovery/index.js +6 -3
  118. package/dist/src/recovery/mempoolApi.d.ts.map +1 -1
  119. package/dist/src/recovery/mempoolApi.js +10 -7
  120. package/dist/src/replayProtection.js +37 -5
  121. package/dist/src/sign.d.ts +29 -8
  122. package/dist/src/sign.d.ts.map +1 -1
  123. package/dist/src/sign.js +114 -15
  124. package/dist/src/transaction/common/verifyPayGoAmount.d.ts +1 -0
  125. package/dist/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  126. package/dist/src/transaction/common/verifyPayGoAmount.js +1 -0
  127. package/dist/src/transaction/descriptor/explainPsbt.d.ts +5 -0
  128. package/dist/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  129. package/dist/src/transaction/descriptor/explainPsbt.js +80 -0
  130. package/dist/src/transaction/descriptor/index.d.ts +7 -0
  131. package/dist/src/transaction/descriptor/index.d.ts.map +1 -0
  132. package/dist/src/transaction/descriptor/index.js +14 -0
  133. package/dist/src/transaction/descriptor/parse.d.ts +14 -0
  134. package/dist/src/transaction/descriptor/parse.d.ts.map +1 -0
  135. package/dist/src/transaction/descriptor/parse.js +115 -0
  136. package/dist/src/transaction/descriptor/parseToAmountType.d.ts +13 -0
  137. package/dist/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  138. package/dist/src/transaction/descriptor/parseToAmountType.js +60 -0
  139. package/dist/src/transaction/descriptor/recipient.d.ts +5 -0
  140. package/dist/src/transaction/descriptor/recipient.d.ts.map +1 -0
  141. package/dist/src/transaction/descriptor/recipient.js +3 -0
  142. package/dist/src/transaction/descriptor/signPsbt.d.ts +25 -0
  143. package/dist/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
  144. package/dist/src/transaction/descriptor/signPsbt.js +43 -0
  145. package/dist/src/transaction/descriptor/verifyTransaction.d.ts +33 -0
  146. package/dist/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  147. package/dist/src/transaction/descriptor/verifyTransaction.js +105 -0
  148. package/dist/src/transaction/explainTransaction.d.ts +17 -0
  149. package/dist/src/transaction/explainTransaction.d.ts.map +1 -0
  150. package/dist/src/transaction/explainTransaction.js +67 -0
  151. package/dist/src/transaction/fetchInputs.d.ts +26 -0
  152. package/dist/src/transaction/fetchInputs.d.ts.map +1 -0
  153. package/dist/src/transaction/fetchInputs.js +109 -0
  154. package/dist/src/transaction/fixedScript/explainTransaction.d.ts +30 -0
  155. package/dist/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  156. package/dist/src/transaction/fixedScript/explainTransaction.js +216 -0
  157. package/dist/src/transaction/fixedScript/index.d.ts +6 -0
  158. package/dist/src/transaction/fixedScript/index.d.ts.map +1 -0
  159. package/dist/src/transaction/fixedScript/index.js +13 -0
  160. package/dist/src/transaction/fixedScript/parseOutput.d.ts +26 -0
  161. package/dist/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  162. package/dist/src/transaction/fixedScript/parseOutput.js +213 -0
  163. package/dist/src/transaction/fixedScript/parseTransaction.d.ts +7 -0
  164. package/dist/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  165. package/dist/src/transaction/fixedScript/parseTransaction.js +203 -0
  166. package/dist/src/transaction/fixedScript/signTransaction.d.ts +17 -0
  167. package/dist/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  168. package/dist/src/transaction/fixedScript/signTransaction.js +138 -0
  169. package/dist/src/transaction/fixedScript/verifyTransaction.d.ts +4 -0
  170. package/dist/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  171. package/dist/src/transaction/fixedScript/verifyTransaction.js +176 -0
  172. package/dist/src/transaction/index.d.ts +6 -0
  173. package/dist/src/transaction/index.d.ts.map +1 -0
  174. package/dist/src/transaction/index.js +26 -0
  175. package/dist/src/transaction/outputDifference.d.ts +40 -0
  176. package/dist/src/transaction/outputDifference.d.ts.map +1 -0
  177. package/dist/src/transaction/outputDifference.js +47 -0
  178. package/dist/src/transaction/parseTransaction.d.ts +3 -0
  179. package/dist/src/transaction/parseTransaction.d.ts.map +1 -0
  180. package/dist/src/transaction/parseTransaction.js +48 -0
  181. package/dist/src/transaction/recipient.d.ts +29 -0
  182. package/dist/src/transaction/recipient.d.ts.map +1 -0
  183. package/dist/src/transaction/recipient.js +88 -0
  184. package/dist/src/transaction/signTransaction.d.ts +6 -0
  185. package/dist/src/transaction/signTransaction.d.ts.map +1 -0
  186. package/dist/src/transaction/signTransaction.js +102 -0
  187. package/dist/src/transaction/verifyTransaction.d.ts +4 -0
  188. package/dist/src/transaction/verifyTransaction.d.ts.map +1 -0
  189. package/dist/src/transaction/verifyTransaction.js +50 -0
  190. package/dist/src/verifyKey.d.ts +28 -0
  191. package/dist/src/verifyKey.d.ts.map +1 -0
  192. package/dist/src/verifyKey.js +164 -0
  193. package/dist/src/wallet.d.ts +12 -0
  194. package/dist/src/wallet.d.ts.map +1 -0
  195. package/dist/src/wallet.js +3 -0
  196. package/package.json +19 -11
  197. package/.eslintignore +0 -5
  198. package/CHANGELOG.md +0 -235
  199. package/dist/src/parseOutput.d.ts +0 -22
  200. package/dist/src/parseOutput.d.ts.map +0 -1
  201. package/dist/src/parseOutput.js +0 -170
  202. package/dist/src/recovery/smartbitApi.d.ts +0 -11
  203. package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
  204. package/dist/src/recovery/smartbitApi.js +0 -36
  205. package/dist/tsconfig.tsbuildinfo +0 -7960
@@ -0,0 +1,46 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { Triple } from '@bitgo-beta/sdk-core';
3
+ import * as t from 'io-ts';
4
+ export declare const XPubWithDerivationPath: t.IntersectionC<[t.TypeC<{
5
+ xpub: t.StringC;
6
+ }>, t.PartialC<{
7
+ derivedFromParentWithSeed: t.StringC;
8
+ }>]>;
9
+ export type XPubWithDerivationPath = t.TypeOf<typeof XPubWithDerivationPath>;
10
+ /**
11
+ * This is the transaction payload that is sent to the offline vault to sign.
12
+ */
13
+ export declare const OfflineVaultSignable: t.TypeC<{
14
+ xpubsWithDerivationPath: t.TypeC<{
15
+ user: t.IntersectionC<[t.TypeC<{
16
+ xpub: t.StringC;
17
+ }>, t.PartialC<{
18
+ derivedFromParentWithSeed: t.StringC;
19
+ }>]>;
20
+ backup: t.IntersectionC<[t.TypeC<{
21
+ xpub: t.StringC;
22
+ }>, t.PartialC<{
23
+ derivedFromParentWithSeed: t.StringC;
24
+ }>]>;
25
+ bitgo: t.IntersectionC<[t.TypeC<{
26
+ xpub: t.StringC;
27
+ }>, t.PartialC<{
28
+ derivedFromParentWithSeed: t.StringC;
29
+ }>]>;
30
+ }>;
31
+ coinSpecific: t.TypeC<{
32
+ txHex: t.StringC;
33
+ }>;
34
+ }>;
35
+ export type OfflineVaultUnsigned = t.TypeOf<typeof OfflineVaultSignable>;
36
+ type WithXpub = {
37
+ xpub: string;
38
+ };
39
+ type NamedKeys = {
40
+ user: WithXpub;
41
+ backup: WithXpub;
42
+ bitgo: WithXpub;
43
+ };
44
+ export declare function toKeyTriple(xpubs: NamedKeys): Triple<utxolib.BIP32Interface>;
45
+ export {};
46
+ //# sourceMappingURL=OfflineVaultSignable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OfflineVaultSignable.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/OfflineVaultSignable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,sBAAsB;;;;IAGlC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEzE,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACjC,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAI5E"}
@@ -0,0 +1,55 @@
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.OfflineVaultSignable = exports.XPubWithDerivationPath = void 0;
37
+ exports.toKeyTriple = toKeyTriple;
38
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
+ const t = __importStar(require("io-ts"));
40
+ exports.XPubWithDerivationPath = t.intersection([t.type({ xpub: t.string }), t.partial({ derivedFromParentWithSeed: t.string })], 'XPubWithDerivationPath');
41
+ /**
42
+ * This is the transaction payload that is sent to the offline vault to sign.
43
+ */
44
+ exports.OfflineVaultSignable = t.type({
45
+ xpubsWithDerivationPath: t.type({
46
+ user: exports.XPubWithDerivationPath,
47
+ backup: exports.XPubWithDerivationPath,
48
+ bitgo: exports.XPubWithDerivationPath,
49
+ }),
50
+ coinSpecific: t.type({ txHex: t.string }),
51
+ }, 'BaseTransaction');
52
+ function toKeyTriple(xpubs) {
53
+ return [xpubs.user.xpub, xpubs.backup.xpub, xpubs.bitgo.xpub].map((xpub) => utxolib.bip32.fromBase58(xpub));
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0U2lnbmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L09mZmxpbmVWYXVsdFNpZ25hYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSxrQ0FJQztBQWxDRCw4REFBZ0Q7QUFFaEQseUNBQTJCO0FBRWQsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUNsRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQ2hGLHdCQUF3QixDQUN6QixDQUFDO0FBSUY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3hDO0lBQ0UsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFJLEVBQUUsOEJBQXNCO1FBQzVCLE1BQU0sRUFBRSw4QkFBc0I7UUFDOUIsS0FBSyxFQUFFLDhCQUFzQjtLQUM5QixDQUFDO0lBQ0YsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0NBQzFDLEVBQ0QsaUJBQWlCLENBQ2xCLENBQUM7QUFNRixTQUFnQixXQUFXLENBQUMsS0FBZ0I7SUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekUsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQ0csQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBUcmlwbGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuZXhwb3J0IGNvbnN0IFhQdWJXaXRoRGVyaXZhdGlvblBhdGggPSB0LmludGVyc2VjdGlvbihcbiAgW3QudHlwZSh7IHhwdWI6IHQuc3RyaW5nIH0pLCB0LnBhcnRpYWwoeyBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkOiB0LnN0cmluZyB9KV0sXG4gICdYUHViV2l0aERlcml2YXRpb25QYXRoJ1xuKTtcblxuZXhwb3J0IHR5cGUgWFB1YldpdGhEZXJpdmF0aW9uUGF0aCA9IHQuVHlwZU9mPHR5cGVvZiBYUHViV2l0aERlcml2YXRpb25QYXRoPjtcblxuLyoqXG4gKiBUaGlzIGlzIHRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIHRoYXQgaXMgc2VudCB0byB0aGUgb2ZmbGluZSB2YXVsdCB0byBzaWduLlxuICovXG5leHBvcnQgY29uc3QgT2ZmbGluZVZhdWx0U2lnbmFibGUgPSB0LnR5cGUoXG4gIHtcbiAgICB4cHVic1dpdGhEZXJpdmF0aW9uUGF0aDogdC50eXBlKHtcbiAgICAgIHVzZXI6IFhQdWJXaXRoRGVyaXZhdGlvblBhdGgsXG4gICAgICBiYWNrdXA6IFhQdWJXaXRoRGVyaXZhdGlvblBhdGgsXG4gICAgICBiaXRnbzogWFB1YldpdGhEZXJpdmF0aW9uUGF0aCxcbiAgICB9KSxcbiAgICBjb2luU3BlY2lmaWM6IHQudHlwZSh7IHR4SGV4OiB0LnN0cmluZyB9KSxcbiAgfSxcbiAgJ0Jhc2VUcmFuc2FjdGlvbidcbik7XG5cbmV4cG9ydCB0eXBlIE9mZmxpbmVWYXVsdFVuc2lnbmVkID0gdC5UeXBlT2Y8dHlwZW9mIE9mZmxpbmVWYXVsdFNpZ25hYmxlPjtcblxudHlwZSBXaXRoWHB1YiA9IHsgeHB1Yjogc3RyaW5nIH07XG50eXBlIE5hbWVkS2V5cyA9IHsgdXNlcjogV2l0aFhwdWI7IGJhY2t1cDogV2l0aFhwdWI7IGJpdGdvOiBXaXRoWHB1YiB9O1xuZXhwb3J0IGZ1bmN0aW9uIHRvS2V5VHJpcGxlKHhwdWJzOiBOYW1lZEtleXMpOiBUcmlwbGU8dXR4b2xpYi5CSVAzMkludGVyZmFjZT4ge1xuICByZXR1cm4gW3hwdWJzLnVzZXIueHB1YiwgeHB1YnMuYmFja3VwLnhwdWIsIHhwdWJzLmJpdGdvLnhwdWJdLm1hcCgoeHB1YikgPT5cbiAgICB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoeHB1YilcbiAgKSBhcyBUcmlwbGU8dXR4b2xpYi5CSVAzMkludGVyZmFjZT47XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ export interface ExplanationOutput {
2
+ address: string;
3
+ amount: string | number;
4
+ }
5
+ export interface TransactionExplanation {
6
+ outputs: ExplanationOutput[];
7
+ changeOutputs: ExplanationOutput[];
8
+ fee: {
9
+ fee: string | number;
10
+ payGoFeeString: string | number | undefined;
11
+ payGoFeeAddress: string | undefined;
12
+ };
13
+ }
14
+ export declare function getTransactionExplanation(coin: string, tx: unknown): TransactionExplanation;
15
+ //# sourceMappingURL=TransactionExplanation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionExplanation.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/TransactionExplanation.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,GAAG,EAAE;QAEH,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC5C,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;CACH;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,sBAAsB,CAS3F"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTransactionExplanation = getTransactionExplanation;
4
+ const names_1 = require("../names");
5
+ const OfflineVaultSignable_1 = require("./OfflineVaultSignable");
6
+ const descriptor_1 = require("./descriptor");
7
+ function getTransactionExplanation(coin, tx) {
8
+ if (!OfflineVaultSignable_1.OfflineVaultSignable.is(tx)) {
9
+ throw new Error('not a signable transaction');
10
+ }
11
+ if (descriptor_1.DescriptorTransaction.is(tx)) {
12
+ return (0, descriptor_1.getTransactionExplanationFromPsbt)(tx, (0, names_1.getNetworkFromChain)(coin));
13
+ }
14
+ throw new Error('unsupported transaction type');
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvVHJhbnNhY3Rpb25FeHBsYW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFCQSw4REFTQztBQTlCRCxvQ0FBK0M7QUFFL0MsaUVBQThEO0FBQzlELDZDQUF3RjtBQWtCeEYsU0FBZ0IseUJBQXlCLENBQUMsSUFBWSxFQUFFLEVBQVc7SUFDakUsSUFBSSxDQUFDLDJDQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxrQ0FBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLElBQUEsOENBQWlDLEVBQUMsRUFBRSxFQUFFLElBQUEsMkJBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXROZXR3b3JrRnJvbUNoYWluIH0gZnJvbSAnLi4vbmFtZXMnO1xuXG5pbXBvcnQgeyBPZmZsaW5lVmF1bHRTaWduYWJsZSB9IGZyb20gJy4vT2ZmbGluZVZhdWx0U2lnbmFibGUnO1xuaW1wb3J0IHsgRGVzY3JpcHRvclRyYW5zYWN0aW9uLCBnZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uRnJvbVBzYnQgfSBmcm9tICcuL2Rlc2NyaXB0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxhbmF0aW9uT3V0cHV0IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgb3V0cHV0czogRXhwbGFuYXRpb25PdXRwdXRbXTtcbiAgY2hhbmdlT3V0cHV0czogRXhwbGFuYXRpb25PdXRwdXRbXTtcbiAgZmVlOiB7XG4gICAgLyogbmV0d29yayBmZWUgKi9cbiAgICBmZWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICBwYXlHb0ZlZVN0cmluZzogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHBheUdvRmVlQWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbihjb2luOiBzdHJpbmcsIHR4OiB1bmtub3duKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIGlmICghT2ZmbGluZVZhdWx0U2lnbmFibGUuaXModHgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgYSBzaWduYWJsZSB0cmFuc2FjdGlvbicpO1xuICB9XG4gIGlmIChEZXNjcmlwdG9yVHJhbnNhY3Rpb24uaXModHgpKSB7XG4gICAgcmV0dXJuIGdldFRyYW5zYWN0aW9uRXhwbGFuYXRpb25Gcm9tUHNidCh0eCwgZ2V0TmV0d29ya0Zyb21DaGFpbihjb2luKSk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './transaction';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/descriptor/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,18 @@
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("./transaction"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2Rlc2NyaXB0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuIl19
@@ -0,0 +1,38 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import * as t from 'io-ts';
3
+ import { DescriptorMap } from '../../core/descriptor';
4
+ import { TransactionExplanation } from '../TransactionExplanation';
5
+ export declare const DescriptorTransaction: t.IntersectionC<[t.TypeC<{
6
+ xpubsWithDerivationPath: t.TypeC<{
7
+ user: t.IntersectionC<[t.TypeC<{
8
+ xpub: t.StringC;
9
+ }>, t.PartialC<{
10
+ derivedFromParentWithSeed: t.StringC;
11
+ }>]>;
12
+ backup: t.IntersectionC<[t.TypeC<{
13
+ xpub: t.StringC;
14
+ }>, t.PartialC<{
15
+ derivedFromParentWithSeed: t.StringC;
16
+ }>]>;
17
+ bitgo: t.IntersectionC<[t.TypeC<{
18
+ xpub: t.StringC;
19
+ }>, t.PartialC<{
20
+ derivedFromParentWithSeed: t.StringC;
21
+ }>]>;
22
+ }>;
23
+ coinSpecific: t.TypeC<{
24
+ txHex: t.StringC;
25
+ }>;
26
+ }>, t.TypeC<{
27
+ descriptors: t.ArrayC<t.IntersectionC<[t.TypeC<{
28
+ name: t.StringC;
29
+ value: t.StringC;
30
+ }>, t.PartialC<{
31
+ signatures: t.UnionC<[t.ArrayC<t.StringC>, t.UndefinedC]>;
32
+ }>]>>;
33
+ }>]>;
34
+ export type DescriptorTransaction = t.TypeOf<typeof DescriptorTransaction>;
35
+ export declare function getDescriptorsFromDescriptorTransaction(tx: DescriptorTransaction): DescriptorMap;
36
+ export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv: utxolib.BIP32Interface, network: utxolib.Network): utxolib.Psbt;
37
+ export declare function getTransactionExplanationFromPsbt(tx: DescriptorTransaction, network: utxolib.Network): TransactionExplanation;
38
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/descriptor/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAU3B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E,wBAAgB,uCAAuC,CAAC,EAAE,EAAE,qBAAqB,GAAG,aAAa,CAUhG;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,qBAAqB,EACzB,GAAG,EAAE,OAAO,CAAC,cAAc,EAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,IAAI,CAKd;AAED,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,qBAAqB,EACzB,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,sBAAsB,CAexB"}
@@ -0,0 +1,80 @@
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.DescriptorTransaction = void 0;
37
+ exports.getDescriptorsFromDescriptorTransaction = getDescriptorsFromDescriptorTransaction;
38
+ exports.getHalfSignedPsbt = getHalfSignedPsbt;
39
+ exports.getTransactionExplanationFromPsbt = getTransactionExplanationFromPsbt;
40
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
41
+ const t = __importStar(require("io-ts"));
42
+ const descriptor_1 = require("../../descriptor");
43
+ const OfflineVaultSignable_1 = require("../OfflineVaultSignable");
44
+ const validatePolicy_1 = require("../../descriptor/validatePolicy");
45
+ const descriptor_2 = require("../../transaction/descriptor");
46
+ exports.DescriptorTransaction = t.intersection([OfflineVaultSignable_1.OfflineVaultSignable, t.type({ descriptors: t.array(descriptor_1.NamedDescriptor) })], 'DescriptorTransaction');
47
+ function getDescriptorsFromDescriptorTransaction(tx) {
48
+ const { descriptors, xpubsWithDerivationPath } = tx;
49
+ const pubkeys = (0, OfflineVaultSignable_1.toKeyTriple)(xpubsWithDerivationPath);
50
+ const policy = (0, validatePolicy_1.getValidatorSome)([
51
+ // allow all 2-of-3-ish descriptors where the keys match the wallet keys
52
+ (0, validatePolicy_1.getValidatorOneOfTemplates)(['Wsh2Of3', 'Wsh2Of3CltvDrop', 'ShWsh2Of3CltvDrop']),
53
+ // allow all descriptors signed by the user key
54
+ (0, validatePolicy_1.getValidatorSignedByUserKey)(),
55
+ ]);
56
+ return (0, validatePolicy_1.toDescriptorMapValidate)(descriptors, pubkeys, policy);
57
+ }
58
+ function getHalfSignedPsbt(tx, prv, network) {
59
+ const psbt = utxolib.bitgo.createPsbtDecode(tx.coinSpecific.txHex, network);
60
+ const descriptorMap = getDescriptorsFromDescriptorTransaction(tx);
61
+ (0, descriptor_2.signPsbt)(psbt, descriptorMap, prv, { onUnknownInput: 'throw' });
62
+ return psbt;
63
+ }
64
+ function getTransactionExplanationFromPsbt(tx, network) {
65
+ const psbt = utxolib.bitgo.createPsbtDecode(tx.coinSpecific.txHex, network);
66
+ const descriptorMap = getDescriptorsFromDescriptorTransaction(tx);
67
+ const { outputs, changeOutputs, fee } = (0, descriptor_2.explainPsbt)(psbt, descriptorMap);
68
+ return {
69
+ outputs,
70
+ changeOutputs,
71
+ fee: {
72
+ /* network fee */
73
+ fee,
74
+ /* TODO */
75
+ payGoFeeString: undefined,
76
+ payGoFeeAddress: undefined,
77
+ },
78
+ };
79
+ }
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2Rlc2NyaXB0b3IvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JBLDBGQVVDO0FBRUQsOENBU0M7QUFFRCw4RUFrQkM7QUEvREQsOERBQWdEO0FBQ2hELHlDQUEyQjtBQUUzQixpREFBbUQ7QUFDbkQsa0VBQTRFO0FBQzVFLG9FQUt5QztBQUV6Qyw2REFBcUU7QUFHeEQsUUFBQSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUNqRCxDQUFDLDJDQUFvQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyw0QkFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3pFLHVCQUF1QixDQUN4QixDQUFDO0FBSUYsU0FBZ0IsdUNBQXVDLENBQUMsRUFBeUI7SUFDL0UsTUFBTSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNwRCxNQUFNLE9BQU8sR0FBRyxJQUFBLGtDQUFXLEVBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFBLGlDQUFnQixFQUFDO1FBQzlCLHdFQUF3RTtRQUN4RSxJQUFBLDJDQUEwQixFQUFDLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDL0UsK0NBQStDO1FBQy9DLElBQUEsNENBQTJCLEdBQUU7S0FDOUIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxJQUFBLHdDQUF1QixFQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUMvQixFQUF5QixFQUN6QixHQUEyQixFQUMzQixPQUF3QjtJQUV4QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVFLE1BQU0sYUFBYSxHQUFHLHVDQUF1QyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLElBQUEscUJBQVEsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQWdCLGlDQUFpQyxDQUMvQyxFQUF5QixFQUN6QixPQUF3QjtJQUV4QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVFLE1BQU0sYUFBYSxHQUFHLHVDQUF1QyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUEsd0JBQVcsRUFBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDekUsT0FBTztRQUNMLE9BQU87UUFDUCxhQUFhO1FBQ2IsR0FBRyxFQUFFO1lBQ0gsaUJBQWlCO1lBQ2pCLEdBQUc7WUFDSCxVQUFVO1lBQ1YsY0FBYyxFQUFFLFNBQVM7WUFDekIsZUFBZSxFQUFFLFNBQVM7U0FDM0I7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5cbmltcG9ydCB7IE5hbWVkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgT2ZmbGluZVZhdWx0U2lnbmFibGUsIHRvS2V5VHJpcGxlIH0gZnJvbSAnLi4vT2ZmbGluZVZhdWx0U2lnbmFibGUnO1xuaW1wb3J0IHtcbiAgZ2V0VmFsaWRhdG9yT25lT2ZUZW1wbGF0ZXMsXG4gIGdldFZhbGlkYXRvclNpZ25lZEJ5VXNlcktleSxcbiAgZ2V0VmFsaWRhdG9yU29tZSxcbiAgdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUsXG59IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3IvdmFsaWRhdGVQb2xpY3knO1xuaW1wb3J0IHsgRGVzY3JpcHRvck1hcCB9IGZyb20gJy4uLy4uL2NvcmUvZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBleHBsYWluUHNidCwgc2lnblBzYnQgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuLi9UcmFuc2FjdGlvbkV4cGxhbmF0aW9uJztcblxuZXhwb3J0IGNvbnN0IERlc2NyaXB0b3JUcmFuc2FjdGlvbiA9IHQuaW50ZXJzZWN0aW9uKFxuICBbT2ZmbGluZVZhdWx0U2lnbmFibGUsIHQudHlwZSh7IGRlc2NyaXB0b3JzOiB0LmFycmF5KE5hbWVkRGVzY3JpcHRvcikgfSldLFxuICAnRGVzY3JpcHRvclRyYW5zYWN0aW9uJ1xuKTtcblxuZXhwb3J0IHR5cGUgRGVzY3JpcHRvclRyYW5zYWN0aW9uID0gdC5UeXBlT2Y8dHlwZW9mIERlc2NyaXB0b3JUcmFuc2FjdGlvbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yc0Zyb21EZXNjcmlwdG9yVHJhbnNhY3Rpb24odHg6IERlc2NyaXB0b3JUcmFuc2FjdGlvbik6IERlc2NyaXB0b3JNYXAge1xuICBjb25zdCB7IGRlc2NyaXB0b3JzLCB4cHVic1dpdGhEZXJpdmF0aW9uUGF0aCB9ID0gdHg7XG4gIGNvbnN0IHB1YmtleXMgPSB0b0tleVRyaXBsZSh4cHVic1dpdGhEZXJpdmF0aW9uUGF0aCk7XG4gIGNvbnN0IHBvbGljeSA9IGdldFZhbGlkYXRvclNvbWUoW1xuICAgIC8vIGFsbG93IGFsbCAyLW9mLTMtaXNoIGRlc2NyaXB0b3JzIHdoZXJlIHRoZSBrZXlzIG1hdGNoIHRoZSB3YWxsZXQga2V5c1xuICAgIGdldFZhbGlkYXRvck9uZU9mVGVtcGxhdGVzKFsnV3NoMk9mMycsICdXc2gyT2YzQ2x0dkRyb3AnLCAnU2hXc2gyT2YzQ2x0dkRyb3AnXSksXG4gICAgLy8gYWxsb3cgYWxsIGRlc2NyaXB0b3JzIHNpZ25lZCBieSB0aGUgdXNlciBrZXlcbiAgICBnZXRWYWxpZGF0b3JTaWduZWRCeVVzZXJLZXkoKSxcbiAgXSk7XG4gIHJldHVybiB0b0Rlc2NyaXB0b3JNYXBWYWxpZGF0ZShkZXNjcmlwdG9ycywgcHVia2V5cywgcG9saWN5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhhbGZTaWduZWRQc2J0KFxuICB0eDogRGVzY3JpcHRvclRyYW5zYWN0aW9uLFxuICBwcnY6IHV0eG9saWIuQklQMzJJbnRlcmZhY2UsXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTogdXR4b2xpYi5Qc2J0IHtcbiAgY29uc3QgcHNidCA9IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidERlY29kZSh0eC5jb2luU3BlY2lmaWMudHhIZXgsIG5ldHdvcmspO1xuICBjb25zdCBkZXNjcmlwdG9yTWFwID0gZ2V0RGVzY3JpcHRvcnNGcm9tRGVzY3JpcHRvclRyYW5zYWN0aW9uKHR4KTtcbiAgc2lnblBzYnQocHNidCwgZGVzY3JpcHRvck1hcCwgcHJ2LCB7IG9uVW5rbm93bklucHV0OiAndGhyb3cnIH0pO1xuICByZXR1cm4gcHNidDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uRXhwbGFuYXRpb25Gcm9tUHNidChcbiAgdHg6IERlc2NyaXB0b3JUcmFuc2FjdGlvbixcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgY29uc3QgcHNidCA9IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidERlY29kZSh0eC5jb2luU3BlY2lmaWMudHhIZXgsIG5ldHdvcmspO1xuICBjb25zdCBkZXNjcmlwdG9yTWFwID0gZ2V0RGVzY3JpcHRvcnNGcm9tRGVzY3JpcHRvclRyYW5zYWN0aW9uKHR4KTtcbiAgY29uc3QgeyBvdXRwdXRzLCBjaGFuZ2VPdXRwdXRzLCBmZWUgfSA9IGV4cGxhaW5Qc2J0KHBzYnQsIGRlc2NyaXB0b3JNYXApO1xuICByZXR1cm4ge1xuICAgIG91dHB1dHMsXG4gICAgY2hhbmdlT3V0cHV0cyxcbiAgICBmZWU6IHtcbiAgICAgIC8qIG5ldHdvcmsgZmVlICovXG4gICAgICBmZWUsXG4gICAgICAvKiBUT0RPICovXG4gICAgICBwYXlHb0ZlZVN0cmluZzogdW5kZWZpbmVkLFxuICAgICAgcGF5R29GZWVBZGRyZXNzOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * as descriptor from './descriptor';
2
+ export * from './OfflineVaultHalfSigned';
3
+ export { getTransactionExplanation } from './TransactionExplanation';
4
+ export { TransactionExplanation } from './TransactionExplanation';
5
+ export { ExplanationOutput } from './TransactionExplanation';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,44 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getTransactionExplanation = exports.descriptor = void 0;
40
+ exports.descriptor = __importStar(require("./descriptor"));
41
+ __exportStar(require("./OfflineVaultHalfSigned"), exports);
42
+ var TransactionExplanation_1 = require("./TransactionExplanation");
43
+ Object.defineProperty(exports, "getTransactionExplanation", { enumerable: true, get: function () { return TransactionExplanation_1.getTransactionExplanation; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJEQUEyQztBQUMzQywyREFBeUM7QUFDekMsbUVBQXFFO0FBQTVELG1JQUFBLHlCQUF5QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogYXMgZGVzY3JpcHRvciBmcm9tICcuL2Rlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9PZmZsaW5lVmF1bHRIYWxmU2lnbmVkJztcbmV4cG9ydCB7IGdldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuL1RyYW5zYWN0aW9uRXhwbGFuYXRpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4vVHJhbnNhY3Rpb25FeHBsYW5hdGlvbic7XG5leHBvcnQgeyBFeHBsYW5hdGlvbk91dHB1dCB9IGZyb20gJy4vVHJhbnNhY3Rpb25FeHBsYW5hdGlvbic7XG4iXX0=
@@ -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==
@@ -1,17 +1,13 @@
1
- /**
2
- * @prettier
3
- */
4
1
  import * as utxolib from '@bitgo-beta/utxo-lib';
5
- declare type WalletUnspent<TNumber extends number | bigint = number> = utxolib.bitgo.WalletUnspent<TNumber>;
6
- declare type WalletUnspentJSON = utxolib.bitgo.WalletUnspent & {
7
- valueString: string;
8
- };
9
- declare type ScriptType2Of3 = utxolib.bitgo.outputScripts.ScriptType2Of3;
10
2
  import { BitGoBase } from '@bitgo-beta/sdk-core';
11
3
  import { AbstractUtxoCoin } from '../abstractUtxoCoin';
12
4
  import { RecoveryProvider } from './RecoveryProvider';
13
- export interface OfflineVaultTxInfo<TNumber extends number | bigint = number> {
14
- inputs: WalletUnspent<TNumber>[];
5
+ type ScriptType2Of3 = utxolib.bitgo.outputScripts.ScriptType2Of3;
6
+ type WalletUnspentJSON = utxolib.bitgo.WalletUnspent & {
7
+ valueString: string;
8
+ };
9
+ export interface OfflineVaultTxInfo {
10
+ inputs: WalletUnspentJSON[];
15
11
  }
16
12
  export interface FormattedOfflineVaultTxInfo {
17
13
  txInfo: {
@@ -34,16 +30,23 @@ export interface RecoverParams {
34
30
  userKeyPath?: string;
35
31
  recoveryProvider?: RecoveryProvider;
36
32
  }
37
- export declare type BackupKeyRecoveryTransansaction<TNumber extends number | bigint = number> = {
38
- inputs: WalletUnspent<TNumber>[];
33
+ export type BackupKeyRecoveryTransansaction = {
34
+ inputs?: WalletUnspentJSON[];
39
35
  transactionHex: string;
40
36
  coin: string;
41
37
  backupKey: string;
42
- recoveryAmount: TNumber;
43
- tx?: unknown;
38
+ recoveryAmount: number;
39
+ recoveryAmountString: string;
44
40
  };
45
41
  /**
46
- * Builds a funds recovery transaction without BitGo
42
+ * Builds a funds recovery transaction without BitGo.
43
+ *
44
+ * Returns transaction hex in legacy format for unsigned sweep transaction, half signed backup recovery transaction with KRS provider (only keyternal),
45
+ * fully signed backup recovery transaction without a KRS provider.
46
+ *
47
+ * Returns PSBT hex for half signed backup recovery transaction with KRS provider (excluding keyternal)
48
+ * For PSBT hex cases, Unspents are not required in response.
49
+ *
47
50
  * @param coin
48
51
  * @param bitgo
49
52
  * @param params
@@ -57,6 +60,28 @@ export declare type BackupKeyRecoveryTransansaction<TNumber extends number | big
57
60
  * - ignoreAddressTypes: (optional) scripts to ignore
58
61
  * for example: ['p2shP2wsh', 'p2wsh'] will prevent code from checking for wrapped-segwit and native-segwit chains on the public block explorers
59
62
  */
60
- export declare function backupKeyRecovery<TNumber extends number | bigint = number>(coin: AbstractUtxoCoin, bitgo: BitGoBase, params: RecoverParams): Promise<BackupKeyRecoveryTransansaction<TNumber> | FormattedOfflineVaultTxInfo>;
63
+ export declare function backupKeyRecovery(coin: AbstractUtxoCoin, bitgo: BitGoBase, params: RecoverParams): Promise<BackupKeyRecoveryTransansaction | FormattedOfflineVaultTxInfo>;
64
+ export interface BitGoV1Unspent {
65
+ tx_hash: string;
66
+ tx_output_n: number;
67
+ value: number;
68
+ }
69
+ export interface V1SweepParams {
70
+ walletId: string;
71
+ walletPassphrase: string;
72
+ unspents: BitGoV1Unspent[];
73
+ recoveryDestination: string;
74
+ userKey: string;
75
+ otp: string;
76
+ }
77
+ export interface V1RecoverParams extends Omit<V1SweepParams, 'otp'> {
78
+ backupKey: string;
79
+ }
80
+ export declare function v1BackupKeyRecovery(coin: AbstractUtxoCoin, bitgo: BitGoBase, params: V1RecoverParams): Promise<string>;
81
+ export declare function v1Sweep(coin: AbstractUtxoCoin, bitgo: BitGoBase, params: V1SweepParams): Promise<{
82
+ tx: string;
83
+ hash: string;
84
+ status: string;
85
+ }>;
61
86
  export {};
62
87
  //# sourceMappingURL=backupKeyRecovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAYhD,aAAK,aAAa,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACpG,aAAK,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,aAAK,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;AAIjE,OAAO,EACL,SAAS,EAQV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAW,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO/D,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IAC1E,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE;QACN,QAAQ,EAAE,iBAAiB,EAAE,CAAC;KAC/B,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAkED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AA8FD,oBAAY,+BAA+B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IACtF,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IAExB,EAAE,CAAC,EAAE,OAAO,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9E,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,+BAA+B,CAAC,OAAO,CAAC,GAAG,2BAA2B,CAAC,CA0LjF"}
1
+ {"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EACL,SAAS,EAQV,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAW,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI/D,KAAK,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;AAIjE,KAAK,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE;QACN,QAAQ,EAAE,iBAAiB,EAAE,CAAC;KAC/B,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAmED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAiHD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,+BAA+B,GAAG,2BAA2B,CAAC,CAqJxE;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;IACjE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,OAAO,CAC3B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC;IACT,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAkBD"}