@bitgo-beta/abstract-utxo 1.1.1-beta.192 → 1.1.1-beta.1921

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 (829) hide show
  1. package/README.md +76 -0
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts +461 -0
  3. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
  4. package/dist/cjs/src/abstractUtxoCoin.js +705 -0
  5. package/dist/cjs/src/address/fixedScript.d.ts +44 -0
  6. package/dist/cjs/src/address/fixedScript.d.ts.map +1 -0
  7. package/dist/cjs/src/address/fixedScript.js +105 -0
  8. package/dist/cjs/src/address/index.d.ts +2 -0
  9. package/dist/cjs/src/address/index.d.ts.map +1 -0
  10. package/dist/cjs/src/address/index.js +8 -0
  11. package/dist/cjs/src/config.d.ts.map +1 -0
  12. package/dist/cjs/src/config.js +14 -0
  13. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts +19 -0
  14. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -0
  15. package/dist/cjs/src/descriptor/NamedDescriptor.js +77 -0
  16. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  17. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  18. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +33 -0
  19. package/dist/cjs/src/descriptor/builder/builder.d.ts +12 -0
  20. package/dist/cjs/src/descriptor/builder/builder.d.ts.map +1 -0
  21. package/dist/cjs/src/descriptor/builder/builder.js +37 -0
  22. package/dist/cjs/src/descriptor/builder/index.d.ts +3 -0
  23. package/dist/cjs/src/descriptor/builder/index.d.ts.map +1 -0
  24. package/dist/cjs/src/descriptor/builder/index.js +8 -0
  25. package/dist/cjs/src/descriptor/builder/parse.d.ts +5 -0
  26. package/dist/cjs/src/descriptor/builder/parse.d.ts.map +1 -0
  27. package/dist/cjs/src/descriptor/builder/parse.js +116 -0
  28. package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  29. package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  30. package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.js +41 -0
  31. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts +12 -0
  32. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  33. package/dist/cjs/src/descriptor/createWallet/createDescriptors.js +33 -0
  34. package/dist/cjs/src/descriptor/createWallet/index.d.ts +3 -0
  35. package/dist/cjs/src/descriptor/createWallet/index.d.ts.map +1 -0
  36. package/dist/cjs/src/descriptor/createWallet/index.js +19 -0
  37. package/dist/cjs/src/descriptor/descriptorWallet.d.ts +19 -0
  38. package/dist/cjs/src/descriptor/descriptorWallet.d.ts.map +1 -0
  39. package/dist/cjs/src/descriptor/descriptorWallet.js +54 -0
  40. package/dist/cjs/src/descriptor/index.d.ts +8 -0
  41. package/dist/cjs/src/descriptor/index.d.ts.map +1 -0
  42. package/dist/cjs/src/descriptor/index.js +53 -0
  43. package/dist/cjs/src/descriptor/validatePolicy.d.ts +22 -0
  44. package/dist/cjs/src/descriptor/validatePolicy.d.ts.map +1 -0
  45. package/dist/cjs/src/descriptor/validatePolicy.js +92 -0
  46. package/dist/cjs/src/impl/bch/bch.d.ts +22 -0
  47. package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -0
  48. package/dist/cjs/src/impl/bch/bch.js +43 -0
  49. package/dist/cjs/src/impl/bch/index.d.ts +3 -0
  50. package/dist/cjs/src/impl/bch/index.d.ts.map +1 -0
  51. package/dist/cjs/src/impl/bch/index.js +19 -0
  52. package/dist/cjs/src/impl/bch/tbch.d.ts +12 -0
  53. package/dist/cjs/src/impl/bch/tbch.d.ts.map +1 -0
  54. package/dist/cjs/src/impl/bch/tbch.js +15 -0
  55. package/dist/cjs/src/impl/bcha/bcha.d.ts +9 -0
  56. package/dist/cjs/src/impl/bcha/bcha.d.ts.map +1 -0
  57. package/dist/cjs/src/impl/bcha/bcha.js +15 -0
  58. package/dist/cjs/src/impl/bcha/index.d.ts +3 -0
  59. package/dist/cjs/src/impl/bcha/index.d.ts.map +1 -0
  60. package/dist/cjs/src/impl/bcha/index.js +19 -0
  61. package/dist/cjs/src/impl/bcha/tbcha.d.ts +12 -0
  62. package/dist/cjs/src/impl/bcha/tbcha.d.ts.map +1 -0
  63. package/dist/cjs/src/impl/bcha/tbcha.js +15 -0
  64. package/dist/cjs/src/impl/bsv/bsv.d.ts +9 -0
  65. package/dist/cjs/src/impl/bsv/bsv.d.ts.map +1 -0
  66. package/dist/cjs/src/impl/bsv/bsv.js +15 -0
  67. package/dist/cjs/src/impl/bsv/index.d.ts +3 -0
  68. package/dist/cjs/src/impl/bsv/index.d.ts.map +1 -0
  69. package/dist/cjs/src/impl/bsv/index.js +19 -0
  70. package/dist/cjs/src/impl/bsv/tbsv.d.ts +12 -0
  71. package/dist/cjs/src/impl/bsv/tbsv.d.ts.map +1 -0
  72. package/dist/cjs/src/impl/bsv/tbsv.js +15 -0
  73. package/dist/cjs/src/impl/btc/btc.d.ts +15 -0
  74. package/dist/cjs/src/impl/btc/btc.d.ts.map +1 -0
  75. package/dist/cjs/src/impl/btc/btc.js +22 -0
  76. package/dist/cjs/src/impl/btc/index.d.ts +7 -0
  77. package/dist/cjs/src/impl/btc/index.d.ts.map +1 -0
  78. package/dist/cjs/src/impl/btc/index.js +23 -0
  79. package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts +61 -0
  80. package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -0
  81. package/dist/cjs/src/impl/btc/inscriptionBuilder.js +171 -0
  82. package/dist/cjs/src/impl/btc/tbtc.d.ts +12 -0
  83. package/dist/cjs/src/impl/btc/tbtc.d.ts.map +1 -0
  84. package/dist/cjs/src/impl/btc/tbtc.js +15 -0
  85. package/dist/cjs/src/impl/btc/tbtc4.d.ts +12 -0
  86. package/dist/cjs/src/impl/btc/tbtc4.d.ts.map +1 -0
  87. package/dist/cjs/src/impl/btc/tbtc4.js +15 -0
  88. package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts +12 -0
  89. package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts.map +1 -0
  90. package/dist/cjs/src/impl/btc/tbtcbgsig.js +15 -0
  91. package/dist/cjs/src/impl/btc/tbtcsig.d.ts +12 -0
  92. package/dist/cjs/src/impl/btc/tbtcsig.d.ts.map +1 -0
  93. package/dist/cjs/src/impl/btc/tbtcsig.js +15 -0
  94. package/dist/cjs/src/impl/btg/btg.d.ts +9 -0
  95. package/dist/cjs/src/impl/btg/btg.d.ts.map +1 -0
  96. package/dist/cjs/src/impl/btg/btg.js +15 -0
  97. package/dist/cjs/src/impl/btg/index.d.ts +2 -0
  98. package/dist/cjs/src/impl/btg/index.d.ts.map +1 -0
  99. package/dist/cjs/src/impl/btg/index.js +18 -0
  100. package/dist/cjs/src/impl/dash/dash.d.ts +9 -0
  101. package/dist/cjs/src/impl/dash/dash.d.ts.map +1 -0
  102. package/dist/cjs/src/impl/dash/dash.js +15 -0
  103. package/dist/cjs/src/impl/dash/index.d.ts +3 -0
  104. package/dist/cjs/src/impl/dash/index.d.ts.map +1 -0
  105. package/dist/cjs/src/impl/dash/index.js +19 -0
  106. package/dist/cjs/src/impl/dash/tdash.d.ts +12 -0
  107. package/dist/cjs/src/impl/dash/tdash.d.ts.map +1 -0
  108. package/dist/cjs/src/impl/dash/tdash.js +15 -0
  109. package/dist/cjs/src/impl/doge/doge.d.ts +35 -0
  110. package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -0
  111. package/dist/cjs/src/impl/doge/doge.js +79 -0
  112. package/dist/cjs/src/impl/doge/index.d.ts +3 -0
  113. package/dist/cjs/src/impl/doge/index.d.ts.map +1 -0
  114. package/dist/cjs/src/impl/doge/index.js +19 -0
  115. package/dist/cjs/src/impl/doge/tdoge.d.ts +12 -0
  116. package/dist/cjs/src/impl/doge/tdoge.d.ts.map +1 -0
  117. package/dist/cjs/src/impl/doge/tdoge.js +15 -0
  118. package/dist/cjs/src/impl/index.d.ts +10 -0
  119. package/dist/cjs/src/impl/index.d.ts.map +1 -0
  120. package/dist/cjs/src/impl/index.js +46 -0
  121. package/dist/cjs/src/impl/ltc/index.d.ts +3 -0
  122. package/dist/cjs/src/impl/ltc/index.d.ts.map +1 -0
  123. package/dist/cjs/src/impl/ltc/index.js +19 -0
  124. package/dist/cjs/src/impl/ltc/ltc.d.ts +8 -0
  125. package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
  126. package/dist/cjs/src/impl/ltc/ltc.js +15 -0
  127. package/dist/cjs/src/impl/ltc/tltc.d.ts +8 -0
  128. package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
  129. package/dist/cjs/src/impl/ltc/tltc.js +15 -0
  130. package/dist/cjs/src/impl/zec/index.d.ts +3 -0
  131. package/dist/cjs/src/impl/zec/index.d.ts.map +1 -0
  132. package/dist/cjs/src/impl/zec/index.js +19 -0
  133. package/dist/cjs/src/impl/zec/tzec.d.ts +9 -0
  134. package/dist/cjs/src/impl/zec/tzec.d.ts.map +1 -0
  135. package/dist/cjs/src/impl/zec/tzec.js +15 -0
  136. package/dist/cjs/src/impl/zec/zec.d.ts +12 -0
  137. package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -0
  138. package/dist/cjs/src/impl/zec/zec.js +15 -0
  139. package/dist/cjs/src/index.d.ts +23 -0
  140. package/dist/cjs/src/index.d.ts.map +1 -0
  141. package/dist/cjs/src/index.js +62 -0
  142. package/dist/cjs/src/keychains.d.ts +56 -0
  143. package/dist/cjs/src/keychains.d.ts.map +1 -0
  144. package/dist/cjs/src/keychains.js +144 -0
  145. package/dist/cjs/src/names.d.ts +36 -0
  146. package/dist/cjs/src/names.d.ts.map +1 -0
  147. package/dist/cjs/src/names.js +231 -0
  148. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
  149. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  150. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +23 -0
  151. package/dist/cjs/src/offlineVault/OfflineVaultSignable.d.ts +46 -0
  152. package/dist/cjs/src/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  153. package/dist/cjs/src/offlineVault/OfflineVaultSignable.js +55 -0
  154. package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts +16 -0
  155. package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts.map +1 -0
  156. package/dist/cjs/src/offlineVault/TransactionExplanation.js +15 -0
  157. package/dist/cjs/src/offlineVault/descriptor/index.d.ts +2 -0
  158. package/dist/cjs/src/offlineVault/descriptor/index.d.ts.map +1 -0
  159. package/dist/cjs/src/offlineVault/descriptor/index.js +18 -0
  160. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts +39 -0
  161. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -0
  162. package/dist/cjs/src/offlineVault/descriptor/transaction.js +80 -0
  163. package/dist/cjs/src/offlineVault/index.d.ts +6 -0
  164. package/dist/cjs/src/offlineVault/index.d.ts.map +1 -0
  165. package/dist/cjs/src/offlineVault/index.js +44 -0
  166. package/dist/{src → cjs/src}/recovery/RecoveryProvider.d.ts +1 -3
  167. package/dist/cjs/src/recovery/RecoveryProvider.d.ts.map +1 -0
  168. package/dist/cjs/src/recovery/RecoveryProvider.js +22 -0
  169. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +158 -0
  170. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
  171. package/dist/cjs/src/recovery/backupKeyRecovery.js +411 -0
  172. package/dist/{src → cjs/src}/recovery/baseApi.d.ts +3 -6
  173. package/dist/cjs/src/recovery/baseApi.d.ts.map +1 -0
  174. package/dist/cjs/src/recovery/baseApi.js +73 -0
  175. package/dist/{src → cjs/src}/recovery/coingeckoApi.d.ts +0 -3
  176. package/dist/cjs/src/recovery/coingeckoApi.d.ts.map +1 -0
  177. package/dist/cjs/src/recovery/coingeckoApi.js +44 -0
  178. package/dist/{src → cjs/src}/recovery/crossChainRecovery.d.ts +21 -9
  179. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
  180. package/dist/cjs/src/recovery/crossChainRecovery.js +299 -0
  181. package/dist/{src → cjs/src}/recovery/index.d.ts +0 -1
  182. package/dist/cjs/src/recovery/index.d.ts.map +1 -0
  183. package/dist/{src → cjs/src}/recovery/index.js +6 -3
  184. package/dist/cjs/src/recovery/mempoolApi.d.ts.map +1 -0
  185. package/dist/cjs/src/recovery/mempoolApi.js +36 -0
  186. package/dist/cjs/src/recovery/psbt.d.ts +62 -0
  187. package/dist/cjs/src/recovery/psbt.d.ts.map +1 -0
  188. package/dist/cjs/src/recovery/psbt.js +153 -0
  189. package/dist/cjs/src/tnumber.d.ts +4 -0
  190. package/dist/cjs/src/tnumber.d.ts.map +1 -0
  191. package/dist/cjs/src/tnumber.js +12 -0
  192. package/dist/cjs/src/transaction/bip322.d.ts +27 -0
  193. package/dist/cjs/src/transaction/bip322.d.ts.map +1 -0
  194. package/dist/cjs/src/transaction/bip322.js +139 -0
  195. package/dist/cjs/src/transaction/common/verifyPayGoAmount.d.ts +2 -0
  196. package/dist/cjs/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  197. package/dist/cjs/src/transaction/common/verifyPayGoAmount.js +3 -0
  198. package/dist/cjs/src/transaction/decode.d.ts +13 -0
  199. package/dist/cjs/src/transaction/decode.d.ts.map +1 -0
  200. package/dist/cjs/src/transaction/decode.js +88 -0
  201. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +5 -0
  202. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  203. package/dist/cjs/src/transaction/descriptor/explainPsbt.js +45 -0
  204. package/dist/cjs/src/transaction/descriptor/index.d.ts +7 -0
  205. package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -0
  206. package/dist/cjs/src/transaction/descriptor/index.js +14 -0
  207. package/dist/cjs/src/transaction/descriptor/parse.d.ts +19 -0
  208. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
  209. package/dist/cjs/src/transaction/descriptor/parse.js +90 -0
  210. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts +14 -0
  211. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  212. package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +60 -0
  213. package/dist/cjs/src/transaction/descriptor/recipient.d.ts +5 -0
  214. package/dist/cjs/src/transaction/descriptor/recipient.d.ts.map +1 -0
  215. package/dist/cjs/src/transaction/descriptor/recipient.js +3 -0
  216. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts +24 -0
  217. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
  218. package/dist/cjs/src/transaction/descriptor/signPsbt.js +44 -0
  219. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +37 -0
  220. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  221. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +81 -0
  222. package/dist/cjs/src/transaction/explainTransaction.d.ts +21 -0
  223. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
  224. package/dist/cjs/src/transaction/explainTransaction.js +90 -0
  225. package/dist/cjs/src/transaction/fetchInputs.d.ts +27 -0
  226. package/dist/cjs/src/transaction/fetchInputs.d.ts.map +1 -0
  227. package/dist/cjs/src/transaction/fetchInputs.js +111 -0
  228. package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts +24 -0
  229. package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -0
  230. package/dist/cjs/src/transaction/fixedScript/SigningError.js +32 -0
  231. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +41 -0
  232. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  233. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +120 -0
  234. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +80 -0
  235. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  236. package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +346 -0
  237. package/dist/cjs/src/transaction/fixedScript/index.d.ts +10 -0
  238. package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -0
  239. package/dist/cjs/src/transaction/fixedScript/index.js +34 -0
  240. package/dist/cjs/src/transaction/fixedScript/musig2.d.ts +4 -0
  241. package/dist/cjs/src/transaction/fixedScript/musig2.d.ts.map +1 -0
  242. package/dist/cjs/src/transaction/fixedScript/musig2.js +3 -0
  243. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts +28 -0
  244. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  245. package/dist/cjs/src/transaction/fixedScript/parseOutput.js +216 -0
  246. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +8 -0
  247. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  248. package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +227 -0
  249. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +10 -0
  250. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  251. package/dist/cjs/src/transaction/fixedScript/replayProtection.js +44 -0
  252. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +32 -0
  253. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
  254. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +156 -0
  255. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts +20 -0
  256. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -0
  257. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.js +157 -0
  258. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +20 -0
  259. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
  260. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +116 -0
  261. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +34 -0
  262. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  263. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +78 -0
  264. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts +21 -0
  265. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  266. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +199 -0
  267. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts +9 -0
  268. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
  269. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.js +20 -0
  270. package/dist/cjs/src/transaction/index.d.ts +10 -0
  271. package/dist/cjs/src/transaction/index.d.ts.map +1 -0
  272. package/dist/cjs/src/transaction/index.js +54 -0
  273. package/dist/cjs/src/transaction/outputDifference.d.ts +44 -0
  274. package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
  275. package/dist/cjs/src/transaction/outputDifference.js +51 -0
  276. package/dist/cjs/src/transaction/parseTransaction.d.ts +4 -0
  277. package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -0
  278. package/dist/cjs/src/transaction/parseTransaction.js +48 -0
  279. package/dist/cjs/src/transaction/recipient.d.ts +34 -0
  280. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -0
  281. package/dist/cjs/src/transaction/recipient.js +69 -0
  282. package/dist/cjs/src/transaction/signTransaction.d.ts +6 -0
  283. package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -0
  284. package/dist/cjs/src/transaction/signTransaction.js +115 -0
  285. package/dist/cjs/src/transaction/types.d.ts +50 -0
  286. package/dist/cjs/src/transaction/types.d.ts.map +1 -0
  287. package/dist/cjs/src/transaction/types.js +7 -0
  288. package/dist/cjs/src/transaction/verifyTransaction.d.ts +4 -0
  289. package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -0
  290. package/dist/cjs/src/transaction/verifyTransaction.js +50 -0
  291. package/dist/cjs/src/unspent.d.ts +55 -0
  292. package/dist/cjs/src/unspent.d.ts.map +1 -0
  293. package/dist/cjs/src/unspent.js +12 -0
  294. package/dist/cjs/src/verifyKey.d.ts +21 -0
  295. package/dist/cjs/src/verifyKey.d.ts.map +1 -0
  296. package/dist/cjs/src/verifyKey.js +108 -0
  297. package/dist/cjs/src/wallet.d.ts +15 -0
  298. package/dist/cjs/src/wallet.d.ts.map +1 -0
  299. package/dist/cjs/src/wallet.js +8 -0
  300. package/dist/cjs/src/wasmUtil.d.ts +34 -0
  301. package/dist/cjs/src/wasmUtil.d.ts.map +1 -0
  302. package/dist/cjs/src/wasmUtil.js +95 -0
  303. package/dist/cjs/test/integration/impl/bch/bch.d.ts +2 -0
  304. package/dist/cjs/test/integration/impl/bch/bch.d.ts.map +1 -0
  305. package/dist/cjs/test/integration/impl/bch/bch.js +76 -0
  306. package/dist/cjs/test/unit/address.d.ts +2 -0
  307. package/dist/cjs/test/unit/address.d.ts.map +1 -0
  308. package/dist/cjs/test/unit/address.js +152 -0
  309. package/dist/cjs/test/unit/bip322.d.ts +2 -0
  310. package/dist/cjs/test/unit/bip322.d.ts.map +1 -0
  311. package/dist/cjs/test/unit/bip322.js +410 -0
  312. package/dist/cjs/test/unit/buildSignSendLegacyFormat.d.ts +2 -0
  313. package/dist/cjs/test/unit/buildSignSendLegacyFormat.d.ts.map +1 -0
  314. package/dist/cjs/test/unit/buildSignSendLegacyFormat.js +99 -0
  315. package/dist/cjs/test/unit/coins.d.ts +2 -0
  316. package/dist/cjs/test/unit/coins.d.ts.map +1 -0
  317. package/dist/cjs/test/unit/coins.js +161 -0
  318. package/dist/cjs/test/unit/customChangeWallet.d.ts +2 -0
  319. package/dist/cjs/test/unit/customChangeWallet.d.ts.map +1 -0
  320. package/dist/cjs/test/unit/customChangeWallet.js +215 -0
  321. package/dist/cjs/test/unit/customChangeWalletFixtures.d.ts +2 -0
  322. package/dist/cjs/test/unit/customChangeWalletFixtures.d.ts.map +1 -0
  323. package/dist/cjs/test/unit/customChangeWalletFixtures.js +53 -0
  324. package/dist/cjs/test/unit/customSigner.d.ts +2 -0
  325. package/dist/cjs/test/unit/customSigner.d.ts.map +1 -0
  326. package/dist/cjs/test/unit/customSigner.js +99 -0
  327. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts +2 -0
  328. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts.map +1 -0
  329. package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +51 -0
  330. package/dist/cjs/test/unit/descriptor/builder.d.ts +2 -0
  331. package/dist/cjs/test/unit/descriptor/builder.d.ts.map +1 -0
  332. package/dist/cjs/test/unit/descriptor/builder.js +78 -0
  333. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts +2 -0
  334. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  335. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +53 -0
  336. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts +2 -0
  337. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts.map +1 -0
  338. package/dist/cjs/test/unit/descriptor/descriptorWallet.js +62 -0
  339. package/dist/cjs/test/unit/descriptorAddress.d.ts +3 -0
  340. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -0
  341. package/dist/cjs/test/unit/descriptorAddress.js +103 -0
  342. package/dist/cjs/test/unit/explainTransaction.d.ts +2 -0
  343. package/dist/cjs/test/unit/explainTransaction.d.ts.map +1 -0
  344. package/dist/cjs/test/unit/explainTransaction.js +97 -0
  345. package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts +15 -0
  346. package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts.map +1 -0
  347. package/dist/cjs/test/unit/fixtures/bip322/fixtures.js +51 -0
  348. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts +4 -0
  349. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts.map +1 -0
  350. package/dist/cjs/test/unit/fixtures/psbtHexProof.js +9 -0
  351. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts +2 -0
  352. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts.map +1 -0
  353. package/dist/cjs/test/unit/impl/bch/unit/bch.js +71 -0
  354. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts +2 -0
  355. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts.map +1 -0
  356. package/dist/cjs/test/unit/impl/bcha/unit/index.js +41 -0
  357. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts +2 -0
  358. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts.map +1 -0
  359. package/dist/cjs/test/unit/impl/bsv/unit/index.js +34 -0
  360. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts +2 -0
  361. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts.map +1 -0
  362. package/dist/cjs/test/unit/impl/btg/unit/index.js +33 -0
  363. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts +2 -0
  364. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts.map +1 -0
  365. package/dist/cjs/test/unit/impl/dash/unit/index.js +34 -0
  366. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts +2 -0
  367. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts.map +1 -0
  368. package/dist/cjs/test/unit/impl/doge/unit/index.js +34 -0
  369. package/dist/cjs/test/unit/impl/zec/unit/index.d.ts +2 -0
  370. package/dist/cjs/test/unit/impl/zec/unit/index.d.ts.map +1 -0
  371. package/dist/cjs/test/unit/impl/zec/unit/index.js +30 -0
  372. package/dist/cjs/test/unit/keySignatures.d.ts +2 -0
  373. package/dist/cjs/test/unit/keySignatures.d.ts.map +1 -0
  374. package/dist/cjs/test/unit/keySignatures.js +54 -0
  375. package/dist/cjs/test/unit/keychains.d.ts +2 -0
  376. package/dist/cjs/test/unit/keychains.d.ts.map +1 -0
  377. package/dist/cjs/test/unit/keychains.js +87 -0
  378. package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts +2 -0
  379. package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts.map +1 -0
  380. package/dist/cjs/test/unit/offlineVault/halfSigned.js +124 -0
  381. package/dist/cjs/test/unit/parseTransaction.d.ts +2 -0
  382. package/dist/cjs/test/unit/parseTransaction.d.ts.map +1 -0
  383. package/dist/cjs/test/unit/parseTransaction.js +125 -0
  384. package/dist/cjs/test/unit/postProcessPrebuild.d.ts +2 -0
  385. package/dist/cjs/test/unit/postProcessPrebuild.d.ts.map +1 -0
  386. package/dist/cjs/test/unit/postProcessPrebuild.js +65 -0
  387. package/dist/cjs/test/unit/prebuildAndSign.d.ts +2 -0
  388. package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -0
  389. package/dist/cjs/test/unit/prebuildAndSign.js +249 -0
  390. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts +2 -0
  391. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts.map +1 -0
  392. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +136 -0
  393. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts +2 -0
  394. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts.map +1 -0
  395. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.js +144 -0
  396. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts +2 -0
  397. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts.map +1 -0
  398. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +297 -0
  399. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts +2 -0
  400. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts.map +1 -0
  401. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +189 -0
  402. package/dist/cjs/test/unit/recovery/mock.d.ts +37 -0
  403. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -0
  404. package/dist/cjs/test/unit/recovery/mock.js +111 -0
  405. package/dist/cjs/test/unit/signTransaction.d.ts +2 -0
  406. package/dist/cjs/test/unit/signTransaction.d.ts.map +1 -0
  407. package/dist/cjs/test/unit/signTransaction.js +245 -0
  408. package/dist/cjs/test/unit/testSpoofTransaction.d.ts +2 -0
  409. package/dist/cjs/test/unit/testSpoofTransaction.d.ts.map +1 -0
  410. package/dist/cjs/test/unit/testSpoofTransaction.js +114 -0
  411. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts +2 -0
  412. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  413. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +64 -0
  414. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts +6 -0
  415. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
  416. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +51 -0
  417. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts +2 -0
  418. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts.map +1 -0
  419. package/dist/cjs/test/unit/transaction/descriptor/parse.js +138 -0
  420. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts +2 -0
  421. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts.map +1 -0
  422. package/dist/cjs/test/unit/transaction/descriptor/sign.js +76 -0
  423. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts +2 -0
  424. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts.map +1 -0
  425. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +81 -0
  426. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts +2 -0
  427. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts.map +1 -0
  428. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +193 -0
  429. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts +2 -0
  430. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts.map +1 -0
  431. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +287 -0
  432. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts +2 -0
  433. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  434. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.js +60 -0
  435. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts +2 -0
  436. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts.map +1 -0
  437. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.js +154 -0
  438. package/dist/cjs/test/unit/transaction/outputDifference.d.ts +2 -0
  439. package/dist/cjs/test/unit/transaction/outputDifference.d.ts.map +1 -0
  440. package/dist/cjs/test/unit/transaction/outputDifference.js +117 -0
  441. package/dist/cjs/test/unit/transaction.d.ts +2 -0
  442. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  443. package/dist/cjs/test/unit/transaction.js +308 -0
  444. package/dist/cjs/test/unit/txFormat.d.ts +30 -0
  445. package/dist/cjs/test/unit/txFormat.d.ts.map +1 -0
  446. package/dist/cjs/test/unit/txFormat.js +161 -0
  447. package/dist/cjs/test/unit/util/address.d.ts +13 -0
  448. package/dist/cjs/test/unit/util/address.d.ts.map +1 -0
  449. package/dist/cjs/test/unit/util/address.js +15 -0
  450. package/dist/cjs/test/unit/util/assert.d.ts +3 -0
  451. package/dist/cjs/test/unit/util/assert.d.ts.map +1 -0
  452. package/dist/cjs/test/unit/util/assert.js +24 -0
  453. package/dist/cjs/test/unit/util/fixtures.d.ts +13 -0
  454. package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
  455. package/dist/cjs/test/unit/util/fixtures.js +105 -0
  456. package/dist/cjs/test/unit/util/index.d.ts +11 -0
  457. package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
  458. package/dist/cjs/test/unit/util/index.js +27 -0
  459. package/dist/cjs/test/unit/util/keychains.d.ts +55 -0
  460. package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
  461. package/dist/cjs/test/unit/util/keychains.js +122 -0
  462. package/dist/cjs/test/unit/util/nockBitGo.d.ts +10 -0
  463. package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
  464. package/dist/cjs/test/unit/util/nockBitGo.js +27 -0
  465. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts +8 -0
  466. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -0
  467. package/dist/cjs/test/unit/util/nockIndexerAPI.js +23 -0
  468. package/dist/cjs/test/unit/util/psbt.d.ts +19 -0
  469. package/dist/cjs/test/unit/util/psbt.d.ts.map +1 -0
  470. package/dist/cjs/test/unit/util/psbt.js +21 -0
  471. package/dist/cjs/test/unit/util/transaction.d.ts +28 -0
  472. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
  473. package/dist/cjs/test/unit/util/transaction.js +131 -0
  474. package/dist/cjs/test/unit/util/unspents.d.ts +71 -0
  475. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
  476. package/dist/cjs/test/unit/util/unspents.js +224 -0
  477. package/dist/cjs/test/unit/util/utxoCoins.d.ts +30 -0
  478. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
  479. package/dist/cjs/test/unit/util/utxoCoins.js +175 -0
  480. package/dist/cjs/test/unit/util/wallet.d.ts +4 -0
  481. package/dist/cjs/test/unit/util/wallet.d.ts.map +1 -0
  482. package/dist/cjs/test/unit/util/wallet.js +9 -0
  483. package/dist/cjs/test/unit/verifyTransaction.d.ts +2 -0
  484. package/dist/cjs/test/unit/verifyTransaction.d.ts.map +1 -0
  485. package/dist/cjs/test/unit/verifyTransaction.js +327 -0
  486. package/dist/cjs/test/unit/wallet.d.ts +2 -0
  487. package/dist/cjs/test/unit/wallet.d.ts.map +1 -0
  488. package/dist/cjs/test/unit/wallet.js +251 -0
  489. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  490. package/dist/esm/abstractUtxoCoin.d.ts +461 -0
  491. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
  492. package/dist/esm/abstractUtxoCoin.js +664 -0
  493. package/dist/esm/address/fixedScript.d.ts +44 -0
  494. package/dist/esm/address/fixedScript.d.ts.map +1 -0
  495. package/dist/esm/address/fixedScript.js +97 -0
  496. package/dist/esm/address/index.d.ts +2 -0
  497. package/dist/esm/address/index.d.ts.map +1 -0
  498. package/dist/esm/address/index.js +2 -0
  499. package/dist/esm/config.d.ts +9 -0
  500. package/dist/esm/config.js +11 -0
  501. package/dist/esm/descriptor/NamedDescriptor.d.ts +19 -0
  502. package/dist/esm/descriptor/NamedDescriptor.d.ts.map +1 -0
  503. package/dist/esm/descriptor/NamedDescriptor.js +37 -0
  504. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  505. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  506. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +27 -0
  507. package/dist/esm/descriptor/builder/builder.d.ts +12 -0
  508. package/dist/esm/descriptor/builder/builder.d.ts.map +1 -0
  509. package/dist/esm/descriptor/builder/builder.js +34 -0
  510. package/dist/esm/descriptor/builder/index.d.ts +3 -0
  511. package/dist/esm/descriptor/builder/index.d.ts.map +1 -0
  512. package/dist/esm/descriptor/builder/index.js +3 -0
  513. package/dist/esm/descriptor/builder/parse.d.ts +5 -0
  514. package/dist/esm/descriptor/builder/parse.d.ts.map +1 -0
  515. package/dist/esm/descriptor/builder/parse.js +112 -0
  516. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  517. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  518. package/dist/esm/descriptor/createWallet/createDescriptorWallet.js +37 -0
  519. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +12 -0
  520. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  521. package/dist/esm/descriptor/createWallet/createDescriptors.js +29 -0
  522. package/dist/esm/descriptor/createWallet/index.d.ts +3 -0
  523. package/dist/esm/descriptor/createWallet/index.d.ts.map +1 -0
  524. package/dist/esm/descriptor/createWallet/index.js +3 -0
  525. package/dist/esm/descriptor/descriptorWallet.d.ts +19 -0
  526. package/dist/esm/descriptor/descriptorWallet.d.ts.map +1 -0
  527. package/dist/esm/descriptor/descriptorWallet.js +16 -0
  528. package/dist/esm/descriptor/index.d.ts +8 -0
  529. package/dist/esm/descriptor/index.d.ts.map +1 -0
  530. package/dist/esm/descriptor/index.js +7 -0
  531. package/dist/esm/descriptor/validatePolicy.d.ts +22 -0
  532. package/dist/esm/descriptor/validatePolicy.d.ts.map +1 -0
  533. package/dist/esm/descriptor/validatePolicy.js +80 -0
  534. package/dist/esm/impl/bch/bch.d.ts +22 -0
  535. package/dist/esm/impl/bch/bch.d.ts.map +1 -0
  536. package/dist/esm/impl/bch/bch.js +39 -0
  537. package/dist/esm/impl/bch/index.d.ts +3 -0
  538. package/dist/esm/impl/bch/index.d.ts.map +1 -0
  539. package/dist/esm/impl/bch/index.js +3 -0
  540. package/dist/esm/impl/bch/tbch.d.ts +12 -0
  541. package/dist/esm/impl/bch/tbch.d.ts.map +1 -0
  542. package/dist/esm/impl/bch/tbch.js +11 -0
  543. package/dist/esm/impl/bcha/bcha.d.ts +9 -0
  544. package/dist/esm/impl/bcha/bcha.d.ts.map +1 -0
  545. package/dist/esm/impl/bcha/bcha.js +11 -0
  546. package/dist/esm/impl/bcha/index.d.ts +3 -0
  547. package/dist/esm/impl/bcha/index.d.ts.map +1 -0
  548. package/dist/esm/impl/bcha/index.js +3 -0
  549. package/dist/esm/impl/bcha/tbcha.d.ts +12 -0
  550. package/dist/esm/impl/bcha/tbcha.d.ts.map +1 -0
  551. package/dist/esm/impl/bcha/tbcha.js +11 -0
  552. package/dist/esm/impl/bsv/bsv.d.ts +9 -0
  553. package/dist/esm/impl/bsv/bsv.d.ts.map +1 -0
  554. package/dist/esm/impl/bsv/bsv.js +11 -0
  555. package/dist/esm/impl/bsv/index.d.ts +3 -0
  556. package/dist/esm/impl/bsv/index.d.ts.map +1 -0
  557. package/dist/esm/impl/bsv/index.js +3 -0
  558. package/dist/esm/impl/bsv/tbsv.d.ts +12 -0
  559. package/dist/esm/impl/bsv/tbsv.d.ts.map +1 -0
  560. package/dist/esm/impl/bsv/tbsv.js +11 -0
  561. package/dist/esm/impl/btc/btc.d.ts +15 -0
  562. package/dist/esm/impl/btc/btc.d.ts.map +1 -0
  563. package/dist/esm/impl/btc/btc.js +18 -0
  564. package/dist/esm/impl/btc/index.d.ts +7 -0
  565. package/dist/esm/impl/btc/index.d.ts.map +1 -0
  566. package/dist/esm/impl/btc/index.js +7 -0
  567. package/dist/esm/impl/btc/inscriptionBuilder.d.ts +61 -0
  568. package/dist/esm/impl/btc/inscriptionBuilder.d.ts.map +1 -0
  569. package/dist/esm/impl/btc/inscriptionBuilder.js +164 -0
  570. package/dist/esm/impl/btc/tbtc.d.ts +12 -0
  571. package/dist/esm/impl/btc/tbtc.d.ts.map +1 -0
  572. package/dist/esm/impl/btc/tbtc.js +11 -0
  573. package/dist/esm/impl/btc/tbtc4.d.ts +12 -0
  574. package/dist/esm/impl/btc/tbtc4.d.ts.map +1 -0
  575. package/dist/esm/impl/btc/tbtc4.js +11 -0
  576. package/dist/esm/impl/btc/tbtcbgsig.d.ts +12 -0
  577. package/dist/esm/impl/btc/tbtcbgsig.d.ts.map +1 -0
  578. package/dist/esm/impl/btc/tbtcbgsig.js +11 -0
  579. package/dist/esm/impl/btc/tbtcsig.d.ts +12 -0
  580. package/dist/esm/impl/btc/tbtcsig.d.ts.map +1 -0
  581. package/dist/esm/impl/btc/tbtcsig.js +11 -0
  582. package/dist/esm/impl/btg/btg.d.ts +9 -0
  583. package/dist/esm/impl/btg/btg.d.ts.map +1 -0
  584. package/dist/esm/impl/btg/btg.js +11 -0
  585. package/dist/esm/impl/btg/index.d.ts +2 -0
  586. package/dist/esm/impl/btg/index.d.ts.map +1 -0
  587. package/dist/esm/impl/btg/index.js +2 -0
  588. package/dist/esm/impl/dash/dash.d.ts +9 -0
  589. package/dist/esm/impl/dash/dash.d.ts.map +1 -0
  590. package/dist/esm/impl/dash/dash.js +11 -0
  591. package/dist/esm/impl/dash/index.d.ts +3 -0
  592. package/dist/esm/impl/dash/index.d.ts.map +1 -0
  593. package/dist/esm/impl/dash/index.js +3 -0
  594. package/dist/esm/impl/dash/tdash.d.ts +12 -0
  595. package/dist/esm/impl/dash/tdash.d.ts.map +1 -0
  596. package/dist/esm/impl/dash/tdash.js +11 -0
  597. package/dist/esm/impl/doge/doge.d.ts +35 -0
  598. package/dist/esm/impl/doge/doge.d.ts.map +1 -0
  599. package/dist/esm/impl/doge/doge.js +75 -0
  600. package/dist/esm/impl/doge/index.d.ts +3 -0
  601. package/dist/esm/impl/doge/index.d.ts.map +1 -0
  602. package/dist/esm/impl/doge/index.js +3 -0
  603. package/dist/esm/impl/doge/tdoge.d.ts +12 -0
  604. package/dist/esm/impl/doge/tdoge.d.ts.map +1 -0
  605. package/dist/esm/impl/doge/tdoge.js +11 -0
  606. package/dist/esm/impl/index.d.ts +10 -0
  607. package/dist/esm/impl/index.d.ts.map +1 -0
  608. package/dist/esm/impl/index.js +10 -0
  609. package/dist/esm/impl/ltc/index.d.ts +3 -0
  610. package/dist/esm/impl/ltc/index.d.ts.map +1 -0
  611. package/dist/esm/impl/ltc/index.js +3 -0
  612. package/dist/esm/impl/ltc/ltc.d.ts +8 -0
  613. package/dist/esm/impl/ltc/ltc.d.ts.map +1 -0
  614. package/dist/esm/impl/ltc/ltc.js +11 -0
  615. package/dist/esm/impl/ltc/tltc.d.ts +8 -0
  616. package/dist/esm/impl/ltc/tltc.d.ts.map +1 -0
  617. package/dist/esm/impl/ltc/tltc.js +11 -0
  618. package/dist/esm/impl/zec/index.d.ts +3 -0
  619. package/dist/esm/impl/zec/index.d.ts.map +1 -0
  620. package/dist/esm/impl/zec/index.js +3 -0
  621. package/dist/esm/impl/zec/tzec.d.ts +9 -0
  622. package/dist/esm/impl/zec/tzec.d.ts.map +1 -0
  623. package/dist/esm/impl/zec/tzec.js +11 -0
  624. package/dist/esm/impl/zec/zec.d.ts +12 -0
  625. package/dist/esm/impl/zec/zec.d.ts.map +1 -0
  626. package/dist/esm/impl/zec/zec.js +11 -0
  627. package/dist/esm/index.d.ts +23 -0
  628. package/dist/esm/index.d.ts.map +1 -0
  629. package/dist/esm/index.js +23 -0
  630. package/dist/esm/keychains.d.ts +56 -0
  631. package/dist/esm/keychains.d.ts.map +1 -0
  632. package/dist/esm/keychains.js +99 -0
  633. package/dist/esm/names.d.ts +36 -0
  634. package/dist/esm/names.d.ts.map +1 -0
  635. package/dist/esm/names.js +184 -0
  636. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
  637. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  638. package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +20 -0
  639. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts +46 -0
  640. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  641. package/dist/esm/offlineVault/OfflineVaultSignable.js +18 -0
  642. package/dist/esm/offlineVault/TransactionExplanation.d.ts +16 -0
  643. package/dist/esm/offlineVault/TransactionExplanation.d.ts.map +1 -0
  644. package/dist/esm/offlineVault/TransactionExplanation.js +12 -0
  645. package/dist/esm/offlineVault/descriptor/index.d.ts +2 -0
  646. package/dist/esm/offlineVault/descriptor/index.d.ts.map +1 -0
  647. package/dist/esm/offlineVault/descriptor/index.js +2 -0
  648. package/dist/esm/offlineVault/descriptor/transaction.d.ts +39 -0
  649. package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -0
  650. package/dist/esm/offlineVault/descriptor/transaction.js +41 -0
  651. package/dist/esm/offlineVault/index.d.ts +6 -0
  652. package/dist/esm/offlineVault/index.d.ts.map +1 -0
  653. package/dist/esm/offlineVault/index.js +4 -0
  654. package/dist/esm/recovery/RecoveryProvider.d.ts +20 -0
  655. package/dist/esm/recovery/RecoveryProvider.d.ts.map +1 -0
  656. package/dist/esm/recovery/RecoveryProvider.js +19 -0
  657. package/dist/esm/recovery/backupKeyRecovery.d.ts +158 -0
  658. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -0
  659. package/dist/esm/recovery/backupKeyRecovery.js +400 -0
  660. package/dist/esm/recovery/baseApi.d.ts +24 -0
  661. package/dist/esm/recovery/baseApi.d.ts.map +1 -0
  662. package/dist/esm/recovery/baseApi.js +64 -0
  663. package/dist/esm/recovery/coingeckoApi.d.ts +6 -0
  664. package/dist/esm/recovery/coingeckoApi.d.ts.map +1 -0
  665. package/dist/esm/recovery/coingeckoApi.js +40 -0
  666. package/dist/esm/recovery/crossChainRecovery.d.ts +97 -0
  667. package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -0
  668. package/dist/esm/recovery/crossChainRecovery.js +292 -0
  669. package/dist/esm/recovery/index.d.ts +7 -0
  670. package/dist/{src → esm}/recovery/index.d.ts.map +1 -1
  671. package/dist/esm/recovery/index.js +7 -0
  672. package/dist/esm/recovery/mempoolApi.d.ts +7 -0
  673. package/dist/{src → esm}/recovery/mempoolApi.d.ts.map +1 -1
  674. package/dist/esm/recovery/mempoolApi.js +29 -0
  675. package/dist/esm/recovery/psbt.d.ts +62 -0
  676. package/dist/esm/recovery/psbt.d.ts.map +1 -0
  677. package/dist/esm/recovery/psbt.js +145 -0
  678. package/dist/esm/tnumber.d.ts +4 -0
  679. package/dist/esm/tnumber.d.ts.map +1 -0
  680. package/dist/esm/tnumber.js +9 -0
  681. package/dist/esm/transaction/bip322.d.ts +27 -0
  682. package/dist/esm/transaction/bip322.d.ts.map +1 -0
  683. package/dist/esm/transaction/bip322.js +100 -0
  684. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts +1 -0
  685. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  686. package/dist/esm/transaction/common/verifyPayGoAmount.js +1 -0
  687. package/dist/esm/transaction/decode.d.ts +13 -0
  688. package/dist/esm/transaction/decode.d.ts.map +1 -0
  689. package/dist/esm/transaction/decode.js +49 -0
  690. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +5 -0
  691. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  692. package/dist/esm/transaction/descriptor/explainPsbt.js +42 -0
  693. package/dist/esm/transaction/descriptor/index.d.ts +7 -0
  694. package/dist/esm/transaction/descriptor/index.d.ts.map +1 -0
  695. package/dist/esm/transaction/descriptor/index.js +6 -0
  696. package/dist/esm/transaction/descriptor/parse.d.ts +19 -0
  697. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
  698. package/dist/esm/transaction/descriptor/parse.js +86 -0
  699. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +14 -0
  700. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  701. package/dist/esm/transaction/descriptor/parseToAmountType.js +55 -0
  702. package/dist/esm/transaction/descriptor/recipient.d.ts +5 -0
  703. package/dist/esm/transaction/descriptor/recipient.d.ts.map +1 -0
  704. package/dist/esm/transaction/descriptor/recipient.js +2 -0
  705. package/dist/esm/transaction/descriptor/signPsbt.d.ts +24 -0
  706. package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -0
  707. package/dist/esm/transaction/descriptor/signPsbt.js +39 -0
  708. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +37 -0
  709. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  710. package/dist/esm/transaction/descriptor/verifyTransaction.js +71 -0
  711. package/dist/esm/transaction/explainTransaction.d.ts +21 -0
  712. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
  713. package/dist/esm/transaction/explainTransaction.js +54 -0
  714. package/dist/esm/transaction/fetchInputs.d.ts +27 -0
  715. package/dist/esm/transaction/fetchInputs.d.ts.map +1 -0
  716. package/dist/esm/transaction/fetchInputs.js +74 -0
  717. package/dist/esm/transaction/fixedScript/SigningError.d.ts +24 -0
  718. package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -0
  719. package/dist/esm/transaction/fixedScript/SigningError.js +26 -0
  720. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +41 -0
  721. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  722. package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +115 -0
  723. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +80 -0
  724. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  725. package/dist/esm/transaction/fixedScript/explainTransaction.js +309 -0
  726. package/dist/esm/transaction/fixedScript/index.d.ts +10 -0
  727. package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
  728. package/dist/esm/transaction/fixedScript/index.js +9 -0
  729. package/dist/esm/transaction/fixedScript/musig2.d.ts +4 -0
  730. package/dist/esm/transaction/fixedScript/musig2.d.ts.map +1 -0
  731. package/dist/esm/transaction/fixedScript/musig2.js +2 -0
  732. package/dist/esm/transaction/fixedScript/parseOutput.d.ts +28 -0
  733. package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  734. package/dist/esm/transaction/fixedScript/parseOutput.js +209 -0
  735. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +8 -0
  736. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  737. package/dist/esm/transaction/fixedScript/parseTransaction.js +221 -0
  738. package/dist/esm/transaction/fixedScript/replayProtection.d.ts +10 -0
  739. package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  740. package/dist/esm/transaction/fixedScript/replayProtection.js +38 -0
  741. package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +32 -0
  742. package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
  743. package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +116 -0
  744. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts +20 -0
  745. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -0
  746. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.js +117 -0
  747. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +20 -0
  748. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
  749. package/dist/esm/transaction/fixedScript/signPsbtWasm.js +109 -0
  750. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +34 -0
  751. package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  752. package/dist/esm/transaction/fixedScript/signTransaction.js +71 -0
  753. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts +21 -0
  754. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  755. package/dist/esm/transaction/fixedScript/verifyTransaction.js +160 -0
  756. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +9 -0
  757. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
  758. package/dist/esm/transaction/getPayGoVerificationPubkey.js +17 -0
  759. package/dist/esm/transaction/index.d.ts +10 -0
  760. package/dist/esm/transaction/index.d.ts.map +1 -0
  761. package/dist/esm/transaction/index.js +10 -0
  762. package/dist/esm/transaction/outputDifference.d.ts +44 -0
  763. package/dist/esm/transaction/outputDifference.d.ts.map +1 -0
  764. package/dist/esm/transaction/outputDifference.js +45 -0
  765. package/dist/esm/transaction/parseTransaction.d.ts +4 -0
  766. package/dist/esm/transaction/parseTransaction.d.ts.map +1 -0
  767. package/dist/esm/transaction/parseTransaction.js +12 -0
  768. package/dist/esm/transaction/recipient.d.ts +34 -0
  769. package/dist/esm/transaction/recipient.d.ts.map +1 -0
  770. package/dist/esm/transaction/recipient.js +61 -0
  771. package/dist/esm/transaction/signTransaction.d.ts +6 -0
  772. package/dist/esm/transaction/signTransaction.d.ts.map +1 -0
  773. package/dist/esm/transaction/signTransaction.js +76 -0
  774. package/dist/esm/transaction/types.d.ts +50 -0
  775. package/dist/esm/transaction/types.d.ts.map +1 -0
  776. package/dist/esm/transaction/types.js +4 -0
  777. package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
  778. package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -0
  779. package/dist/esm/transaction/verifyTransaction.js +14 -0
  780. package/dist/esm/unspent.d.ts +55 -0
  781. package/dist/esm/unspent.d.ts.map +1 -0
  782. package/dist/esm/unspent.js +8 -0
  783. package/dist/esm/verifyKey.d.ts +21 -0
  784. package/dist/esm/verifyKey.d.ts.map +1 -0
  785. package/dist/esm/verifyKey.js +100 -0
  786. package/dist/esm/wallet.d.ts +15 -0
  787. package/dist/esm/wallet.d.ts.map +1 -0
  788. package/dist/esm/wallet.js +5 -0
  789. package/dist/esm/wasmUtil.d.ts +34 -0
  790. package/dist/esm/wasmUtil.d.ts.map +1 -0
  791. package/dist/esm/wasmUtil.js +54 -0
  792. package/package.json +47 -20
  793. package/.eslintignore +0 -5
  794. package/CHANGELOG.md +0 -235
  795. package/dist/src/abstractUtxoCoin.d.ts +0 -392
  796. package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
  797. package/dist/src/abstractUtxoCoin.js +0 -931
  798. package/dist/src/config.js +0 -14
  799. package/dist/src/index.d.ts +0 -6
  800. package/dist/src/index.d.ts.map +0 -1
  801. package/dist/src/index.js +0 -18
  802. package/dist/src/parseOutput.d.ts +0 -22
  803. package/dist/src/parseOutput.d.ts.map +0 -1
  804. package/dist/src/parseOutput.js +0 -170
  805. package/dist/src/recovery/RecoveryProvider.d.ts.map +0 -1
  806. package/dist/src/recovery/RecoveryProvider.js +0 -24
  807. package/dist/src/recovery/backupKeyRecovery.d.ts +0 -62
  808. package/dist/src/recovery/backupKeyRecovery.d.ts.map +0 -1
  809. package/dist/src/recovery/backupKeyRecovery.js +0 -293
  810. package/dist/src/recovery/baseApi.d.ts.map +0 -1
  811. package/dist/src/recovery/baseApi.js +0 -73
  812. package/dist/src/recovery/coingeckoApi.d.ts.map +0 -1
  813. package/dist/src/recovery/coingeckoApi.js +0 -47
  814. package/dist/src/recovery/crossChainRecovery.d.ts.map +0 -1
  815. package/dist/src/recovery/crossChainRecovery.js +0 -294
  816. package/dist/src/recovery/mempoolApi.js +0 -33
  817. package/dist/src/recovery/smartbitApi.d.ts +0 -11
  818. package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
  819. package/dist/src/recovery/smartbitApi.js +0 -36
  820. package/dist/src/replayProtection.d.ts +0 -4
  821. package/dist/src/replayProtection.d.ts.map +0 -1
  822. package/dist/src/replayProtection.js +0 -21
  823. package/dist/src/sign.d.ts +0 -31
  824. package/dist/src/sign.d.ts.map +0 -1
  825. package/dist/src/sign.js +0 -104
  826. package/dist/tsconfig.tsbuildinfo +0 -8017
  827. /package/dist/{src → cjs/src}/config.d.ts +0 -0
  828. /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
  829. /package/dist/{src → esm}/config.d.ts.map +0 -0
@@ -0,0 +1,184 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ export const utxoCoinsMainnet = ['btc', 'bch', 'bcha', 'bsv', 'btg', 'dash', 'doge', 'ltc', 'zec'];
3
+ export const utxoCoinsTestnet = [
4
+ 'tbtc',
5
+ 'tbtc4',
6
+ 'tbtcsig',
7
+ 'tbtcbgsig',
8
+ 'tbch',
9
+ 'tbcha',
10
+ 'tbsv',
11
+ 'tbtg',
12
+ 'tdash',
13
+ 'tdoge',
14
+ 'tltc',
15
+ 'tzec',
16
+ ];
17
+ export function isUtxoCoinNameMainnet(coinName) {
18
+ return utxoCoinsMainnet.includes(coinName);
19
+ }
20
+ export function isUtxoCoinNameTestnet(coinName) {
21
+ return utxoCoinsTestnet.includes(coinName);
22
+ }
23
+ export function isUtxoCoinName(coinName) {
24
+ return isUtxoCoinNameMainnet(coinName) || isUtxoCoinNameTestnet(coinName);
25
+ }
26
+ export function getMainnetCoinName(coinName) {
27
+ if (isUtxoCoinNameMainnet(coinName)) {
28
+ return coinName;
29
+ }
30
+ switch (coinName) {
31
+ case 'tbtc4':
32
+ case 'tbtcsig':
33
+ case 'tbtcbgsig':
34
+ return 'btc';
35
+ default:
36
+ return coinName.slice(1);
37
+ }
38
+ }
39
+ function getNetworkName(n) {
40
+ const name = utxolib.getNetworkName(n);
41
+ if (!name) {
42
+ throw new Error('Unknown network');
43
+ }
44
+ return name;
45
+ }
46
+ /**
47
+ * @deprecated - will be removed when we drop support for utxolib
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
+ export 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
+ * @deprecated - will be removed when we drop support for utxolib
87
+ * Get the chain name for a network.
88
+ * The chain is different for every network.
89
+ */
90
+ export function getCoinName(n) {
91
+ switch (getNetworkName(n)) {
92
+ case 'bitcoinPublicSignet':
93
+ return 'tbtcsig';
94
+ case 'bitcoinTestnet4':
95
+ return 'tbtc4';
96
+ case 'bitcoinBitGoSignet':
97
+ return 'tbtcbgsig';
98
+ case 'bitcoin':
99
+ case 'testnet':
100
+ case 'bitcoincash':
101
+ case 'bitcoincashTestnet':
102
+ case 'ecash':
103
+ case 'ecashTest':
104
+ case 'bitcoingold':
105
+ case 'bitcoingoldTestnet':
106
+ case 'bitcoinsv':
107
+ case 'bitcoinsvTestnet':
108
+ case 'dash':
109
+ case 'dashTest':
110
+ case 'dogecoin':
111
+ case 'dogecoinTest':
112
+ case 'litecoin':
113
+ case 'litecoinTest':
114
+ case 'zcash':
115
+ case 'zcashTest':
116
+ const mainnetName = getFamilyFromNetwork(n);
117
+ return utxolib.isTestnet(n) ? `t${mainnetName}` : mainnetName;
118
+ }
119
+ }
120
+ /**
121
+ * @deprecated - will be removed when we drop support for utxolib
122
+ * @param coinName - the name of the coin (e.g. 'btc', 'bch', 'ltc'). Also called 'chain' in some contexts.
123
+ * @returns the network for a coin. This is the mainnet network for the coin.
124
+ */
125
+ export function getNetworkFromCoinName(coinName) {
126
+ for (const network of utxolib.getNetworkList()) {
127
+ if (getCoinName(network) === coinName) {
128
+ return network;
129
+ }
130
+ }
131
+ throw new Error(`Unknown coin name ${coinName}`);
132
+ }
133
+ /** @deprecated - use getNetworkFromCoinName instead */
134
+ export const getNetworkFromChain = getNetworkFromCoinName;
135
+ function getBaseNameFromMainnet(coinName) {
136
+ switch (coinName) {
137
+ case 'btc':
138
+ return 'Bitcoin';
139
+ case 'bch':
140
+ return 'Bitcoin Cash';
141
+ case 'bcha':
142
+ return 'Bitcoin ABC';
143
+ case 'btg':
144
+ return 'Bitcoin Gold';
145
+ case 'bsv':
146
+ return 'Bitcoin SV';
147
+ case 'dash':
148
+ return 'Dash';
149
+ case 'doge':
150
+ return 'Dogecoin';
151
+ case 'ltc':
152
+ return 'Litecoin';
153
+ case 'zec':
154
+ return 'ZCash';
155
+ }
156
+ }
157
+ export function getFullNameFromCoinName(coinName) {
158
+ let prefix;
159
+ switch (coinName) {
160
+ case 'tbtc4':
161
+ prefix = 'Testnet4 ';
162
+ break;
163
+ case 'tbtcsig':
164
+ prefix = 'Public Signet ';
165
+ break;
166
+ case 'tbtcbgsig':
167
+ prefix = 'BitGo Signet ';
168
+ break;
169
+ default:
170
+ prefix = isUtxoCoinNameTestnet(coinName) ? 'Testnet ' : '';
171
+ }
172
+ return prefix + getBaseNameFromMainnet(getMainnetCoinName(coinName));
173
+ }
174
+ /** @deprecated - use getFullNameFromCoinName instead */
175
+ export function getFullNameFromNetwork(n) {
176
+ return getFullNameFromCoinName(getCoinName(n));
177
+ }
178
+ export function isTestnetCoin(coinName) {
179
+ return isUtxoCoinNameTestnet(coinName);
180
+ }
181
+ export function isMainnetCoin(coinName) {
182
+ return isUtxoCoinNameMainnet(coinName);
183
+ }
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7QUFDNUcsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsTUFBTTtJQUNOLE9BQU87SUFDUCxTQUFTO0lBQ1QsV0FBVztJQUNYLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixNQUFNO0NBQ0UsQ0FBQztBQU1YLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUErQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUErQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsUUFBZ0I7SUFDN0MsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFFBQXNCO0lBQ3ZELElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxXQUFXO1lBQ2QsT0FBTyxLQUFLLENBQUM7UUFDZjtZQUNFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQXdCLENBQUM7SUFDcEQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxDQUFrQjtJQUN4QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxDQUFrQjtJQUNyRCxRQUFRLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLHFCQUFxQixDQUFDO1FBQzNCLEtBQUssaUJBQWlCLENBQUM7UUFDdkIsS0FBSyxvQkFBb0I7WUFDdkIsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLGFBQWEsQ0FBQztRQUNuQixLQUFLLG9CQUFvQjtZQUN2QixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxXQUFXO1lBQ2QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxhQUFhLENBQUM7UUFDbkIsS0FBSyxvQkFBb0I7WUFDdkIsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLGtCQUFrQjtZQUNyQixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxVQUFVO1lBQ2IsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxVQUFVLENBQUM7UUFDaEIsS0FBSyxjQUFjO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLEtBQUssVUFBVSxDQUFDO1FBQ2hCLEtBQUssY0FBYztZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxXQUFXO1lBQ2QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxDQUFrQjtJQUM1QyxRQUFRLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFCLEtBQUsscUJBQXFCO1lBQ3hCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLEtBQUssaUJBQWlCO1lBQ3BCLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLEtBQUssb0JBQW9CO1lBQ3ZCLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLGFBQWEsQ0FBQztRQUNuQixLQUFLLG9CQUFvQixDQUFDO1FBQzFCLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxXQUFXLENBQUM7UUFDakIsS0FBSyxhQUFhLENBQUM7UUFDbkIsS0FBSyxvQkFBb0IsQ0FBQztRQUMxQixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLGtCQUFrQixDQUFDO1FBQ3hCLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxVQUFVLENBQUM7UUFDaEIsS0FBSyxVQUFVLENBQUM7UUFDaEIsS0FBSyxjQUFjLENBQUM7UUFDcEIsS0FBSyxVQUFVLENBQUM7UUFDaEIsS0FBSyxjQUFjLENBQUM7UUFDcEIsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLFdBQVc7WUFDZCxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsRSxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsUUFBZ0I7SUFDckQsS0FBSyxNQUFNLE9BQU8sSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztRQUMvQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELHVEQUF1RDtBQUN2RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQztBQUUxRCxTQUFTLHNCQUFzQixDQUFDLFFBQTZCO0lBQzNELFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxhQUFhLENBQUM7UUFDdkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsUUFBc0I7SUFDNUQsSUFBSSxNQUFjLENBQUM7SUFDbkIsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLE9BQU87WUFDVixNQUFNLEdBQUcsV0FBVyxDQUFDO1lBQ3JCLE1BQU07UUFDUixLQUFLLFNBQVM7WUFDWixNQUFNLEdBQUcsZ0JBQWdCLENBQUM7WUFDMUIsTUFBTTtRQUNSLEtBQUssV0FBVztZQUNkLE1BQU0sR0FBRyxlQUFlLENBQUM7WUFDekIsTUFBTTtRQUNSO1lBQ0UsTUFBTSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxNQUFNLEdBQUcsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsd0RBQXdEO0FBQ3hELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxDQUFrQjtJQUN2RCxPQUFPLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQXNCO0lBQ2xELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsUUFBc0I7SUFDbEQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmV4cG9ydCBjb25zdCB1dHhvQ29pbnNNYWlubmV0ID0gWydidGMnLCAnYmNoJywgJ2JjaGEnLCAnYnN2JywgJ2J0ZycsICdkYXNoJywgJ2RvZ2UnLCAnbHRjJywgJ3plYyddIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IHV0eG9Db2luc1Rlc3RuZXQgPSBbXG4gICd0YnRjJyxcbiAgJ3RidGM0JyxcbiAgJ3RidGNzaWcnLFxuICAndGJ0Y2Jnc2lnJyxcbiAgJ3RiY2gnLFxuICAndGJjaGEnLFxuICAndGJzdicsXG4gICd0YnRnJyxcbiAgJ3RkYXNoJyxcbiAgJ3Rkb2dlJyxcbiAgJ3RsdGMnLFxuICAndHplYycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBVdHhvQ29pbk5hbWVNYWlubmV0ID0gKHR5cGVvZiB1dHhvQ29pbnNNYWlubmV0KVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lVGVzdG5ldCA9IGB0JHtVdHhvQ29pbk5hbWVNYWlubmV0fWAgfCAndGJ0Y3NpZycgfCAndGJ0YzQnIHwgJ3RidGNiZ3NpZyc7XG5leHBvcnQgdHlwZSBVdHhvQ29pbk5hbWUgPSBVdHhvQ29pbk5hbWVNYWlubmV0IHwgVXR4b0NvaW5OYW1lVGVzdG5ldDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lTWFpbm5ldCB7XG4gIHJldHVybiB1dHhvQ29pbnNNYWlubmV0LmluY2x1ZGVzKGNvaW5OYW1lIGFzIFV0eG9Db2luTmFtZU1haW5uZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVdHhvQ29pbk5hbWVUZXN0bmV0KGNvaW5OYW1lOiBzdHJpbmcpOiBjb2luTmFtZSBpcyBVdHhvQ29pbk5hbWVUZXN0bmV0IHtcbiAgcmV0dXJuIHV0eG9Db2luc1Rlc3RuZXQuaW5jbHVkZXMoY29pbk5hbWUgYXMgVXR4b0NvaW5OYW1lVGVzdG5ldCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9Db2luTmFtZShjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZSkgfHwgaXNVdHhvQ29pbk5hbWVUZXN0bmV0KGNvaW5OYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1haW5uZXRDb2luTmFtZShjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogVXR4b0NvaW5OYW1lTWFpbm5ldCB7XG4gIGlmIChpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpKSB7XG4gICAgcmV0dXJuIGNvaW5OYW1lO1xuICB9XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICd0YnRjNCc6XG4gICAgY2FzZSAndGJ0Y3NpZyc6XG4gICAgY2FzZSAndGJ0Y2Jnc2lnJzpcbiAgICAgIHJldHVybiAnYnRjJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNvaW5OYW1lLnNsaWNlKDEpIGFzIFV0eG9Db2luTmFtZU1haW5uZXQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TmV0d29ya05hbWUobjogdXR4b2xpYi5OZXR3b3JrKTogdXR4b2xpYi5OZXR3b3JrTmFtZSB7XG4gIGNvbnN0IG5hbWUgPSB1dHhvbGliLmdldE5ldHdvcmtOYW1lKG4pO1xuICBpZiAoIW5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbmV0d29yaycpO1xuICB9XG4gIHJldHVybiBuYW1lO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIC0gd2lsbCBiZSByZW1vdmVkIHdoZW4gd2UgZHJvcCBzdXBwb3J0IGZvciB1dHhvbGliXG4gKiBAcGFyYW0gblxuICogQHJldHVybnMgdGhlIGZhbWlseSBuYW1lIGZvciBhIG5ldHdvcmsuIFRlc3RuZXRzIGFuZCBtYWlubmV0cyBvZiB0aGUgc2FtZSBjb2luIHNoYXJlIHRoZSBzYW1lIGZhbWlseSBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmFtaWx5RnJvbU5ldHdvcmsobjogdXR4b2xpYi5OZXR3b3JrKTogVXR4b0NvaW5OYW1lTWFpbm5ldCB7XG4gIHN3aXRjaCAoZ2V0TmV0d29ya05hbWUobikpIHtcbiAgICBjYXNlICdiaXRjb2luJzpcbiAgICBjYXNlICd0ZXN0bmV0JzpcbiAgICBjYXNlICdiaXRjb2luUHVibGljU2lnbmV0JzpcbiAgICBjYXNlICdiaXRjb2luVGVzdG5ldDQnOlxuICAgIGNhc2UgJ2JpdGNvaW5CaXRHb1NpZ25ldCc6XG4gICAgICByZXR1cm4gJ2J0Yyc7XG4gICAgY2FzZSAnYml0Y29pbmNhc2gnOlxuICAgIGNhc2UgJ2JpdGNvaW5jYXNoVGVzdG5ldCc6XG4gICAgICByZXR1cm4gJ2JjaCc7XG4gICAgY2FzZSAnZWNhc2gnOlxuICAgIGNhc2UgJ2VjYXNoVGVzdCc6XG4gICAgICByZXR1cm4gJ2JjaGEnO1xuICAgIGNhc2UgJ2JpdGNvaW5nb2xkJzpcbiAgICBjYXNlICdiaXRjb2luZ29sZFRlc3RuZXQnOlxuICAgICAgcmV0dXJuICdidGcnO1xuICAgIGNhc2UgJ2JpdGNvaW5zdic6XG4gICAgY2FzZSAnYml0Y29pbnN2VGVzdG5ldCc6XG4gICAgICByZXR1cm4gJ2Jzdic7XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgY2FzZSAnZGFzaFRlc3QnOlxuICAgICAgcmV0dXJuICdkYXNoJztcbiAgICBjYXNlICdkb2dlY29pbic6XG4gICAgY2FzZSAnZG9nZWNvaW5UZXN0JzpcbiAgICAgIHJldHVybiAnZG9nZSc7XG4gICAgY2FzZSAnbGl0ZWNvaW4nOlxuICAgIGNhc2UgJ2xpdGVjb2luVGVzdCc6XG4gICAgICByZXR1cm4gJ2x0Yyc7XG4gICAgY2FzZSAnemNhc2gnOlxuICAgIGNhc2UgJ3pjYXNoVGVzdCc6XG4gICAgICByZXR1cm4gJ3plYyc7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCAtIHdpbGwgYmUgcmVtb3ZlZCB3aGVuIHdlIGRyb3Agc3VwcG9ydCBmb3IgdXR4b2xpYlxuICogR2V0IHRoZSBjaGFpbiBuYW1lIGZvciBhIG5ldHdvcmsuXG4gKiBUaGUgY2hhaW4gaXMgZGlmZmVyZW50IGZvciBldmVyeSBuZXR3b3JrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29pbk5hbWUobjogdXR4b2xpYi5OZXR3b3JrKTogVXR4b0NvaW5OYW1lIHtcbiAgc3dpdGNoIChnZXROZXR3b3JrTmFtZShuKSkge1xuICAgIGNhc2UgJ2JpdGNvaW5QdWJsaWNTaWduZXQnOlxuICAgICAgcmV0dXJuICd0YnRjc2lnJztcbiAgICBjYXNlICdiaXRjb2luVGVzdG5ldDQnOlxuICAgICAgcmV0dXJuICd0YnRjNCc7XG4gICAgY2FzZSAnYml0Y29pbkJpdEdvU2lnbmV0JzpcbiAgICAgIHJldHVybiAndGJ0Y2Jnc2lnJztcbiAgICBjYXNlICdiaXRjb2luJzpcbiAgICBjYXNlICd0ZXN0bmV0JzpcbiAgICBjYXNlICdiaXRjb2luY2FzaCc6XG4gICAgY2FzZSAnYml0Y29pbmNhc2hUZXN0bmV0JzpcbiAgICBjYXNlICdlY2FzaCc6XG4gICAgY2FzZSAnZWNhc2hUZXN0JzpcbiAgICBjYXNlICdiaXRjb2luZ29sZCc6XG4gICAgY2FzZSAnYml0Y29pbmdvbGRUZXN0bmV0JzpcbiAgICBjYXNlICdiaXRjb2luc3YnOlxuICAgIGNhc2UgJ2JpdGNvaW5zdlRlc3RuZXQnOlxuICAgIGNhc2UgJ2Rhc2gnOlxuICAgIGNhc2UgJ2Rhc2hUZXN0JzpcbiAgICBjYXNlICdkb2dlY29pbic6XG4gICAgY2FzZSAnZG9nZWNvaW5UZXN0JzpcbiAgICBjYXNlICdsaXRlY29pbic6XG4gICAgY2FzZSAnbGl0ZWNvaW5UZXN0JzpcbiAgICBjYXNlICd6Y2FzaCc6XG4gICAgY2FzZSAnemNhc2hUZXN0JzpcbiAgICAgIGNvbnN0IG1haW5uZXROYW1lID0gZ2V0RmFtaWx5RnJvbU5ldHdvcmsobik7XG4gICAgICByZXR1cm4gdXR4b2xpYi5pc1Rlc3RuZXQobikgPyBgdCR7bWFpbm5ldE5hbWV9YCA6IG1haW5uZXROYW1lO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgLSB3aWxsIGJlIHJlbW92ZWQgd2hlbiB3ZSBkcm9wIHN1cHBvcnQgZm9yIHV0eG9saWJcbiAqIEBwYXJhbSBjb2luTmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBjb2luIChlLmcuICdidGMnLCAnYmNoJywgJ2x0YycpLiBBbHNvIGNhbGxlZCAnY2hhaW4nIGluIHNvbWUgY29udGV4dHMuXG4gKiBAcmV0dXJucyB0aGUgbmV0d29yayBmb3IgYSBjb2luLiBUaGlzIGlzIHRoZSBtYWlubmV0IG5ldHdvcmsgZm9yIHRoZSBjb2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya0Zyb21Db2luTmFtZShjb2luTmFtZTogc3RyaW5nKTogdXR4b2xpYi5OZXR3b3JrIHtcbiAgZm9yIChjb25zdCBuZXR3b3JrIG9mIHV0eG9saWIuZ2V0TmV0d29ya0xpc3QoKSkge1xuICAgIGlmIChnZXRDb2luTmFtZShuZXR3b3JrKSA9PT0gY29pbk5hbWUpIHtcbiAgICAgIHJldHVybiBuZXR3b3JrO1xuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29pbiBuYW1lICR7Y29pbk5hbWV9YCk7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCAtIHVzZSBnZXROZXR3b3JrRnJvbUNvaW5OYW1lIGluc3RlYWQgKi9cbmV4cG9ydCBjb25zdCBnZXROZXR3b3JrRnJvbUNoYWluID0gZ2V0TmV0d29ya0Zyb21Db2luTmFtZTtcblxuZnVuY3Rpb24gZ2V0QmFzZU5hbWVGcm9tTWFpbm5ldChjb2luTmFtZTogVXR4b0NvaW5OYW1lTWFpbm5ldCk6IHN0cmluZyB7XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICdidGMnOlxuICAgICAgcmV0dXJuICdCaXRjb2luJztcbiAgICBjYXNlICdiY2gnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIENhc2gnO1xuICAgIGNhc2UgJ2JjaGEnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIEFCQyc7XG4gICAgY2FzZSAnYnRnJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBHb2xkJztcbiAgICBjYXNlICdic3YnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIFNWJztcbiAgICBjYXNlICdkYXNoJzpcbiAgICAgIHJldHVybiAnRGFzaCc7XG4gICAgY2FzZSAnZG9nZSc6XG4gICAgICByZXR1cm4gJ0RvZ2Vjb2luJztcbiAgICBjYXNlICdsdGMnOlxuICAgICAgcmV0dXJuICdMaXRlY29pbic7XG4gICAgY2FzZSAnemVjJzpcbiAgICAgIHJldHVybiAnWkNhc2gnO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsTmFtZUZyb21Db2luTmFtZShjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogc3RyaW5nIHtcbiAgbGV0IHByZWZpeDogc3RyaW5nO1xuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgICAgcHJlZml4ID0gJ1Rlc3RuZXQ0ICc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0YnRjc2lnJzpcbiAgICAgIHByZWZpeCA9ICdQdWJsaWMgU2lnbmV0ICc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0YnRjYmdzaWcnOlxuICAgICAgcHJlZml4ID0gJ0JpdEdvIFNpZ25ldCAnO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHByZWZpeCA9IGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSkgPyAnVGVzdG5ldCAnIDogJyc7XG4gIH1cblxuICByZXR1cm4gcHJlZml4ICsgZ2V0QmFzZU5hbWVGcm9tTWFpbm5ldChnZXRNYWlubmV0Q29pbk5hbWUoY29pbk5hbWUpKTtcbn1cblxuLyoqIEBkZXByZWNhdGVkIC0gdXNlIGdldEZ1bGxOYW1lRnJvbUNvaW5OYW1lIGluc3RlYWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsTmFtZUZyb21OZXR3b3JrKG46IHV0eG9saWIuTmV0d29yayk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRGdWxsTmFtZUZyb21Db2luTmFtZShnZXRDb2luTmFtZShuKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rlc3RuZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01haW5uZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZSk7XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { bip32 } from '@bitgo/wasm-utxo';
2
+ import { UtxoCoinName } from '../names';
3
+ export type OfflineVaultHalfSigned = {
4
+ halfSigned: {
5
+ txHex: string;
6
+ };
7
+ };
8
+ export declare function createHalfSigned(coinName: UtxoCoinName, prv: string | bip32.BIP32Interface, derivationId: string, tx: unknown): OfflineVaultHalfSigned;
9
+ //# sourceMappingURL=OfflineVaultHalfSigned.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OfflineVaultHalfSigned.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/OfflineVaultHalfSigned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAQ,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMxC,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC;AAMF,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,EAClC,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,OAAO,GACV,sBAAsB,CAUxB"}
@@ -0,0 +1,20 @@
1
+ import { BIP32 } from '@bitgo/wasm-utxo';
2
+ import { BaseCoin } from '@bitgo-beta/sdk-core';
3
+ import { toUtxolibBIP32 } from '../wasmUtil';
4
+ import { OfflineVaultSignable } from './OfflineVaultSignable';
5
+ import { DescriptorTransaction, getHalfSignedPsbt } from './descriptor';
6
+ function createHalfSignedFromPsbt(psbt) {
7
+ return { halfSigned: { txHex: Buffer.from(psbt.serialize()).toString('hex') } };
8
+ }
9
+ export function createHalfSigned(coinName, prv, derivationId, tx) {
10
+ const key = typeof prv === 'string' ? BIP32.fromBase58(prv) : prv;
11
+ const derivedKey = BaseCoin.deriveKeyWithSeedBip32(toUtxolibBIP32(key), derivationId).key;
12
+ if (!OfflineVaultSignable.is(tx)) {
13
+ throw new Error('unsupported transaction type');
14
+ }
15
+ if (DescriptorTransaction.is(tx)) {
16
+ return createHalfSignedFromPsbt(getHalfSignedPsbt(tx, derivedKey, coinName));
17
+ }
18
+ throw new Error('unsupported transaction type');
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFlLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTXhFLFNBQVMsd0JBQXdCLENBQUMsSUFBVTtJQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNsRixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixRQUFzQixFQUN0QixHQUFrQyxFQUNsQyxZQUFvQixFQUNwQixFQUFXO0lBRVgsTUFBTSxHQUFHLEdBQUcsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDbEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDMUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMiwgYmlwMzIsIFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5pbXBvcnQgeyB0b1V0eG9saWJCSVAzMiB9IGZyb20gJy4uL3dhc21VdGlsJztcblxuaW1wb3J0IHsgT2ZmbGluZVZhdWx0U2lnbmFibGUgfSBmcm9tICcuL09mZmxpbmVWYXVsdFNpZ25hYmxlJztcbmltcG9ydCB7IERlc2NyaXB0b3JUcmFuc2FjdGlvbiwgZ2V0SGFsZlNpZ25lZFBzYnQgfSBmcm9tICcuL2Rlc2NyaXB0b3InO1xuXG5leHBvcnQgdHlwZSBPZmZsaW5lVmF1bHRIYWxmU2lnbmVkID0ge1xuICBoYWxmU2lnbmVkOiB7IHR4SGV4OiBzdHJpbmcgfTtcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUhhbGZTaWduZWRGcm9tUHNidChwc2J0OiBQc2J0KTogT2ZmbGluZVZhdWx0SGFsZlNpZ25lZCB7XG4gIHJldHVybiB7IGhhbGZTaWduZWQ6IHsgdHhIZXg6IEJ1ZmZlci5mcm9tKHBzYnQuc2VyaWFsaXplKCkpLnRvU3RyaW5nKCdoZXgnKSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVIYWxmU2lnbmVkKFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICBwcnY6IHN0cmluZyB8IGJpcDMyLkJJUDMySW50ZXJmYWNlLFxuICBkZXJpdmF0aW9uSWQ6IHN0cmluZyxcbiAgdHg6IHVua25vd25cbik6IE9mZmxpbmVWYXVsdEhhbGZTaWduZWQge1xuICBjb25zdCBrZXkgPSB0eXBlb2YgcHJ2ID09PSAnc3RyaW5nJyA/IEJJUDMyLmZyb21CYXNlNTgocHJ2KSA6IHBydjtcbiAgY29uc3QgZGVyaXZlZEtleSA9IEJhc2VDb2luLmRlcml2ZUtleVdpdGhTZWVkQmlwMzIodG9VdHhvbGliQklQMzIoa2V5KSwgZGVyaXZhdGlvbklkKS5rZXk7XG4gIGlmICghT2ZmbGluZVZhdWx0U2lnbmFibGUuaXModHgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gIH1cbiAgaWYgKERlc2NyaXB0b3JUcmFuc2FjdGlvbi5pcyh0eCkpIHtcbiAgICByZXR1cm4gY3JlYXRlSGFsZlNpZ25lZEZyb21Qc2J0KGdldEhhbGZTaWduZWRQc2J0KHR4LCBkZXJpdmVkS2V5LCBjb2luTmFtZSkpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcigndW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZScpO1xufVxuIl19
@@ -0,0 +1,46 @@
1
+ import { BIP32 } from '@bitgo/wasm-utxo';
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<BIP32>;
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,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,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,KAAK,CAAC,CAE3D"}
@@ -0,0 +1,18 @@
1
+ import { BIP32 } from '@bitgo/wasm-utxo';
2
+ import * as t from 'io-ts';
3
+ export const XPubWithDerivationPath = t.intersection([t.type({ xpub: t.string }), t.partial({ derivedFromParentWithSeed: t.string })], 'XPubWithDerivationPath');
4
+ /**
5
+ * This is the transaction payload that is sent to the offline vault to sign.
6
+ */
7
+ export const OfflineVaultSignable = t.type({
8
+ xpubsWithDerivationPath: t.type({
9
+ user: XPubWithDerivationPath,
10
+ backup: XPubWithDerivationPath,
11
+ bitgo: XPubWithDerivationPath,
12
+ }),
13
+ coinSpecific: t.type({ txHex: t.string }),
14
+ }, 'BaseTransaction');
15
+ export function toKeyTriple(xpubs) {
16
+ return [BIP32.fromBase58(xpubs.user.xpub), BIP32.fromBase58(xpubs.backup.xpub), BIP32.fromBase58(xpubs.bitgo.xpub)];
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0U2lnbmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L09mZmxpbmVWYXVsdFNpZ25hYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6QyxPQUFPLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQztBQUUzQixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUNsRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQ2hGLHdCQUF3QixDQUN6QixDQUFDO0FBSUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN4QztJQUNFLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLEtBQUssRUFBRSxzQkFBc0I7S0FDOUIsQ0FBQztJQUNGLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUMxQyxFQUNELGlCQUFpQixDQUNsQixDQUFDO0FBTUYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFnQjtJQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN0SCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQklQMzIgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IFRyaXBsZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuXG5leHBvcnQgY29uc3QgWFB1YldpdGhEZXJpdmF0aW9uUGF0aCA9IHQuaW50ZXJzZWN0aW9uKFxuICBbdC50eXBlKHsgeHB1YjogdC5zdHJpbmcgfSksIHQucGFydGlhbCh7IGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ6IHQuc3RyaW5nIH0pXSxcbiAgJ1hQdWJXaXRoRGVyaXZhdGlvblBhdGgnXG4pO1xuXG5leHBvcnQgdHlwZSBYUHViV2l0aERlcml2YXRpb25QYXRoID0gdC5UeXBlT2Y8dHlwZW9mIFhQdWJXaXRoRGVyaXZhdGlvblBhdGg+O1xuXG4vKipcbiAqIFRoaXMgaXMgdGhlIHRyYW5zYWN0aW9uIHBheWxvYWQgdGhhdCBpcyBzZW50IHRvIHRoZSBvZmZsaW5lIHZhdWx0IHRvIHNpZ24uXG4gKi9cbmV4cG9ydCBjb25zdCBPZmZsaW5lVmF1bHRTaWduYWJsZSA9IHQudHlwZShcbiAge1xuICAgIHhwdWJzV2l0aERlcml2YXRpb25QYXRoOiB0LnR5cGUoe1xuICAgICAgdXNlcjogWFB1YldpdGhEZXJpdmF0aW9uUGF0aCxcbiAgICAgIGJhY2t1cDogWFB1YldpdGhEZXJpdmF0aW9uUGF0aCxcbiAgICAgIGJpdGdvOiBYUHViV2l0aERlcml2YXRpb25QYXRoLFxuICAgIH0pLFxuICAgIGNvaW5TcGVjaWZpYzogdC50eXBlKHsgdHhIZXg6IHQuc3RyaW5nIH0pLFxuICB9LFxuICAnQmFzZVRyYW5zYWN0aW9uJ1xuKTtcblxuZXhwb3J0IHR5cGUgT2ZmbGluZVZhdWx0VW5zaWduZWQgPSB0LlR5cGVPZjx0eXBlb2YgT2ZmbGluZVZhdWx0U2lnbmFibGU+O1xuXG50eXBlIFdpdGhYcHViID0geyB4cHViOiBzdHJpbmcgfTtcbnR5cGUgTmFtZWRLZXlzID0geyB1c2VyOiBXaXRoWHB1YjsgYmFja3VwOiBXaXRoWHB1YjsgYml0Z286IFdpdGhYcHViIH07XG5leHBvcnQgZnVuY3Rpb24gdG9LZXlUcmlwbGUoeHB1YnM6IE5hbWVkS2V5cyk6IFRyaXBsZTxCSVAzMj4ge1xuICByZXR1cm4gW0JJUDMyLmZyb21CYXNlNTgoeHB1YnMudXNlci54cHViKSwgQklQMzIuZnJvbUJhc2U1OCh4cHVicy5iYWNrdXAueHB1YiksIEJJUDMyLmZyb21CYXNlNTgoeHB1YnMuYml0Z28ueHB1YildO1xufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { UtxoCoinName } from '../names';
2
+ export interface ExplanationOutput {
3
+ address: string;
4
+ amount: string | number;
5
+ }
6
+ export interface TransactionExplanation<TFee> {
7
+ outputs: ExplanationOutput[];
8
+ changeOutputs: ExplanationOutput[];
9
+ fee: {
10
+ fee: TFee;
11
+ payGoFeeString: string | number | undefined;
12
+ payGoFeeAddress: string | undefined;
13
+ };
14
+ }
15
+ export declare function getTransactionExplanation(coinName: UtxoCoinName, tx: unknown): TransactionExplanation<string>;
16
+ //# sourceMappingURL=TransactionExplanation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionExplanation.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/TransactionExplanation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB,CAAC,IAAI;IAC1C,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,GAAG,EAAE;QAEH,GAAG,EAAE,IAAI,CAAC;QACV,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC5C,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;CACH;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAS7G"}
@@ -0,0 +1,12 @@
1
+ import { OfflineVaultSignable } from './OfflineVaultSignable';
2
+ import { DescriptorTransaction, getTransactionExplanationFromPsbt } from './descriptor';
3
+ export function getTransactionExplanation(coinName, tx) {
4
+ if (!OfflineVaultSignable.is(tx)) {
5
+ throw new Error('not a signable transaction');
6
+ }
7
+ if (DescriptorTransaction.is(tx)) {
8
+ return getTransactionExplanationFromPsbt(tx, coinName);
9
+ }
10
+ throw new Error('unsupported transaction type');
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvVHJhbnNhY3Rpb25FeHBsYW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFrQnhGLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxRQUFzQixFQUFFLEVBQVc7SUFDM0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLGlDQUFpQyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5cbmltcG9ydCB7IE9mZmxpbmVWYXVsdFNpZ25hYmxlIH0gZnJvbSAnLi9PZmZsaW5lVmF1bHRTaWduYWJsZSc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yVHJhbnNhY3Rpb24sIGdldFRyYW5zYWN0aW9uRXhwbGFuYXRpb25Gcm9tUHNidCB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFuYXRpb25PdXRwdXQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uRXhwbGFuYXRpb248VEZlZT4ge1xuICBvdXRwdXRzOiBFeHBsYW5hdGlvbk91dHB1dFtdO1xuICBjaGFuZ2VPdXRwdXRzOiBFeHBsYW5hdGlvbk91dHB1dFtdO1xuICBmZWU6IHtcbiAgICAvKiBuZXR3b3JrIGZlZSAqL1xuICAgIGZlZTogVEZlZTtcbiAgICBwYXlHb0ZlZVN0cmluZzogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHBheUdvRmVlQWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbihjb2luTmFtZTogVXR4b0NvaW5OYW1lLCB0eDogdW5rbm93bik6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb248c3RyaW5nPiB7XG4gIGlmICghT2ZmbGluZVZhdWx0U2lnbmFibGUuaXModHgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgYSBzaWduYWJsZSB0cmFuc2FjdGlvbicpO1xuICB9XG4gIGlmIChEZXNjcmlwdG9yVHJhbnNhY3Rpb24uaXModHgpKSB7XG4gICAgcmV0dXJuIGdldFRyYW5zYWN0aW9uRXhwbGFuYXRpb25Gcm9tUHNidCh0eCwgY29pbk5hbWUpO1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG59XG4iXX0=
@@ -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,2 @@
1
+ export * from './transaction';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2Rlc2NyaXB0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uJztcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import * as t from 'io-ts';
2
+ import { bip32, Psbt } from '@bitgo/wasm-utxo';
3
+ import { DescriptorMap } from '../../descriptor';
4
+ import { TransactionExplanation } from '../TransactionExplanation';
5
+ import { UtxoCoinName } from '../../names';
6
+ export declare const DescriptorTransaction: t.IntersectionC<[t.TypeC<{
7
+ xpubsWithDerivationPath: t.TypeC<{
8
+ user: t.IntersectionC<[t.TypeC<{
9
+ xpub: t.StringC;
10
+ }>, t.PartialC<{
11
+ derivedFromParentWithSeed: t.StringC;
12
+ }>]>;
13
+ backup: t.IntersectionC<[t.TypeC<{
14
+ xpub: t.StringC;
15
+ }>, t.PartialC<{
16
+ derivedFromParentWithSeed: t.StringC;
17
+ }>]>;
18
+ bitgo: t.IntersectionC<[t.TypeC<{
19
+ xpub: t.StringC;
20
+ }>, t.PartialC<{
21
+ derivedFromParentWithSeed: t.StringC;
22
+ }>]>;
23
+ }>;
24
+ coinSpecific: t.TypeC<{
25
+ txHex: t.StringC;
26
+ }>;
27
+ }>, t.TypeC<{
28
+ descriptors: t.ArrayC<t.IntersectionC<[t.TypeC<{
29
+ name: t.StringC;
30
+ value: t.StringC;
31
+ }>, t.PartialC<{
32
+ signatures: t.UnionC<[t.ArrayC<t.StringC>, t.UndefinedC]>;
33
+ }>]>>;
34
+ }>]>;
35
+ export type DescriptorTransaction = t.TypeOf<typeof DescriptorTransaction>;
36
+ export declare function getDescriptorsFromDescriptorTransaction(tx: DescriptorTransaction): DescriptorMap;
37
+ export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv: bip32.BIP32Interface, coinName: UtxoCoinName): Psbt;
38
+ export declare function getTransactionExplanationFromPsbt(tx: DescriptorTransaction, coinName: UtxoCoinName): TransactionExplanation<string>;
39
+ //# 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,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AASlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,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,CAAC,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAKpH;AAED,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,qBAAqB,EACzB,QAAQ,EAAE,YAAY,GACrB,sBAAsB,CAAC,MAAM,CAAC,CAehC"}
@@ -0,0 +1,41 @@
1
+ import * as t from 'io-ts';
2
+ import { NamedDescriptor } from '../../descriptor';
3
+ import { OfflineVaultSignable, toKeyTriple } from '../OfflineVaultSignable';
4
+ import { getValidatorOneOfTemplates, getValidatorSignedByUserKey, getValidatorSome, toDescriptorMapValidate, } from '../../descriptor/validatePolicy';
5
+ import { explainPsbt, signPsbt } from '../../transaction/descriptor';
6
+ import { toWasmPsbt } from '../../wasmUtil';
7
+ export const DescriptorTransaction = t.intersection([OfflineVaultSignable, t.type({ descriptors: t.array(NamedDescriptor) })], 'DescriptorTransaction');
8
+ export function getDescriptorsFromDescriptorTransaction(tx) {
9
+ const { descriptors, xpubsWithDerivationPath } = tx;
10
+ const pubkeys = toKeyTriple(xpubsWithDerivationPath);
11
+ const policy = getValidatorSome([
12
+ // allow all 2-of-3-ish descriptors where the keys match the wallet keys
13
+ getValidatorOneOfTemplates(['Wsh2Of3', 'Wsh2Of3CltvDrop', 'ShWsh2Of3CltvDrop']),
14
+ // allow all descriptors signed by the user key
15
+ getValidatorSignedByUserKey(),
16
+ ]);
17
+ return toDescriptorMapValidate(descriptors, pubkeys, policy);
18
+ }
19
+ export function getHalfSignedPsbt(tx, prv, coinName) {
20
+ const psbt = toWasmPsbt(Buffer.from(tx.coinSpecific.txHex, 'hex'));
21
+ const descriptorMap = getDescriptorsFromDescriptorTransaction(tx);
22
+ signPsbt(psbt, descriptorMap, prv, { onUnknownInput: 'throw' });
23
+ return psbt;
24
+ }
25
+ export function getTransactionExplanationFromPsbt(tx, coinName) {
26
+ const psbt = toWasmPsbt(Buffer.from(tx.coinSpecific.txHex, 'hex'));
27
+ const descriptorMap = getDescriptorsFromDescriptorTransaction(tx);
28
+ const { outputs, changeOutputs, fee } = explainPsbt(psbt, descriptorMap, coinName);
29
+ return {
30
+ outputs,
31
+ changeOutputs,
32
+ fee: {
33
+ /* network fee */
34
+ fee,
35
+ /* TODO */
36
+ payGoFeeString: undefined,
37
+ payGoFeeAddress: undefined,
38
+ },
39
+ };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2Rlc2NyaXB0b3IvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7QUFHM0IsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUNMLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixHQUN4QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxZQUFZLENBQ2pELENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUN6RSx1QkFBdUIsQ0FDeEIsQ0FBQztBQUlGLE1BQU0sVUFBVSx1Q0FBdUMsQ0FBQyxFQUF5QjtJQUMvRSxNQUFNLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3BELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLHdFQUF3RTtRQUN4RSwwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLCtDQUErQztRQUMvQywyQkFBMkIsRUFBRTtLQUM5QixDQUFDLENBQUM7SUFDSCxPQUFPLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUF5QixFQUFFLEdBQXlCLEVBQUUsUUFBc0I7SUFDNUcsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxNQUFNLGFBQWEsR0FBRyx1Q0FBdUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLEVBQXlCLEVBQ3pCLFFBQXNCO0lBRXRCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkUsTUFBTSxhQUFhLEdBQUcsdUNBQXVDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkYsT0FBTztRQUNMLE9BQU87UUFDUCxhQUFhO1FBQ2IsR0FBRyxFQUFFO1lBQ0gsaUJBQWlCO1lBQ2pCLEdBQUc7WUFDSCxVQUFVO1lBQ1YsY0FBYyxFQUFFLFNBQVM7WUFDekIsZUFBZSxFQUFFLFNBQVM7U0FDM0I7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgYmlwMzIsIFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgRGVzY3JpcHRvck1hcCwgTmFtZWREZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBPZmZsaW5lVmF1bHRTaWduYWJsZSwgdG9LZXlUcmlwbGUgfSBmcm9tICcuLi9PZmZsaW5lVmF1bHRTaWduYWJsZSc7XG5pbXBvcnQge1xuICBnZXRWYWxpZGF0b3JPbmVPZlRlbXBsYXRlcyxcbiAgZ2V0VmFsaWRhdG9yU2lnbmVkQnlVc2VyS2V5LFxuICBnZXRWYWxpZGF0b3JTb21lLFxuICB0b0Rlc2NyaXB0b3JNYXBWYWxpZGF0ZSxcbn0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeSc7XG5pbXBvcnQgeyBleHBsYWluUHNidCwgc2lnblBzYnQgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuLi9UcmFuc2FjdGlvbkV4cGxhbmF0aW9uJztcbmltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcbmltcG9ydCB7IHRvV2FzbVBzYnQgfSBmcm9tICcuLi8uLi93YXNtVXRpbCc7XG5cbmV4cG9ydCBjb25zdCBEZXNjcmlwdG9yVHJhbnNhY3Rpb24gPSB0LmludGVyc2VjdGlvbihcbiAgW09mZmxpbmVWYXVsdFNpZ25hYmxlLCB0LnR5cGUoeyBkZXNjcmlwdG9yczogdC5hcnJheShOYW1lZERlc2NyaXB0b3IpIH0pXSxcbiAgJ0Rlc2NyaXB0b3JUcmFuc2FjdGlvbidcbik7XG5cbmV4cG9ydCB0eXBlIERlc2NyaXB0b3JUcmFuc2FjdGlvbiA9IHQuVHlwZU9mPHR5cGVvZiBEZXNjcmlwdG9yVHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvcnNGcm9tRGVzY3JpcHRvclRyYW5zYWN0aW9uKHR4OiBEZXNjcmlwdG9yVHJhbnNhY3Rpb24pOiBEZXNjcmlwdG9yTWFwIHtcbiAgY29uc3QgeyBkZXNjcmlwdG9ycywgeHB1YnNXaXRoRGVyaXZhdGlvblBhdGggfSA9IHR4O1xuICBjb25zdCBwdWJrZXlzID0gdG9LZXlUcmlwbGUoeHB1YnNXaXRoRGVyaXZhdGlvblBhdGgpO1xuICBjb25zdCBwb2xpY3kgPSBnZXRWYWxpZGF0b3JTb21lKFtcbiAgICAvLyBhbGxvdyBhbGwgMi1vZi0zLWlzaCBkZXNjcmlwdG9ycyB3aGVyZSB0aGUga2V5cyBtYXRjaCB0aGUgd2FsbGV0IGtleXNcbiAgICBnZXRWYWxpZGF0b3JPbmVPZlRlbXBsYXRlcyhbJ1dzaDJPZjMnLCAnV3NoMk9mM0NsdHZEcm9wJywgJ1NoV3NoMk9mM0NsdHZEcm9wJ10pLFxuICAgIC8vIGFsbG93IGFsbCBkZXNjcmlwdG9ycyBzaWduZWQgYnkgdGhlIHVzZXIga2V5XG4gICAgZ2V0VmFsaWRhdG9yU2lnbmVkQnlVc2VyS2V5KCksXG4gIF0pO1xuICByZXR1cm4gdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUoZGVzY3JpcHRvcnMsIHB1YmtleXMsIHBvbGljeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYWxmU2lnbmVkUHNidCh0eDogRGVzY3JpcHRvclRyYW5zYWN0aW9uLCBwcnY6IGJpcDMyLkJJUDMySW50ZXJmYWNlLCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogUHNidCB7XG4gIGNvbnN0IHBzYnQgPSB0b1dhc21Qc2J0KEJ1ZmZlci5mcm9tKHR4LmNvaW5TcGVjaWZpYy50eEhleCwgJ2hleCcpKTtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JzRnJvbURlc2NyaXB0b3JUcmFuc2FjdGlvbih0eCk7XG4gIHNpZ25Qc2J0KHBzYnQsIGRlc2NyaXB0b3JNYXAsIHBydiwgeyBvblVua25vd25JbnB1dDogJ3Rocm93JyB9KTtcbiAgcmV0dXJuIHBzYnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uRnJvbVBzYnQoXG4gIHR4OiBEZXNjcmlwdG9yVHJhbnNhY3Rpb24sXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWVcbik6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb248c3RyaW5nPiB7XG4gIGNvbnN0IHBzYnQgPSB0b1dhc21Qc2J0KEJ1ZmZlci5mcm9tKHR4LmNvaW5TcGVjaWZpYy50eEhleCwgJ2hleCcpKTtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JzRnJvbURlc2NyaXB0b3JUcmFuc2FjdGlvbih0eCk7XG4gIGNvbnN0IHsgb3V0cHV0cywgY2hhbmdlT3V0cHV0cywgZmVlIH0gPSBleHBsYWluUHNidChwc2J0LCBkZXNjcmlwdG9yTWFwLCBjb2luTmFtZSk7XG4gIHJldHVybiB7XG4gICAgb3V0cHV0cyxcbiAgICBjaGFuZ2VPdXRwdXRzLFxuICAgIGZlZToge1xuICAgICAgLyogbmV0d29yayBmZWUgKi9cbiAgICAgIGZlZSxcbiAgICAgIC8qIFRPRE8gKi9cbiAgICAgIHBheUdvRmVlU3RyaW5nOiB1bmRlZmluZWQsXG4gICAgICBwYXlHb0ZlZUFkZHJlc3M6IHVuZGVmaW5lZCxcbiAgICB9LFxuICB9O1xufVxuIl19
@@ -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,4 @@
1
+ export * as descriptor from './descriptor';
2
+ export * from './OfflineVaultHalfSigned';
3
+ export { getTransactionExplanation } from './TransactionExplanation';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBkZXNjcmlwdG9yIGZyb20gJy4vZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL09mZmxpbmVWYXVsdEhhbGZTaWduZWQnO1xuZXhwb3J0IHsgZ2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4vVHJhbnNhY3Rpb25FeHBsYW5hdGlvbic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIH0gZnJvbSAnLi9UcmFuc2FjdGlvbkV4cGxhbmF0aW9uJztcbmV4cG9ydCB7IEV4cGxhbmF0aW9uT3V0cHV0IH0gZnJvbSAnLi9UcmFuc2FjdGlvbkV4cGxhbmF0aW9uJztcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { AddressInfo, TransactionIO } from '@bitgo-beta/blockapis';
2
+ import type { Unspent } from '../unspent';
3
+ /**
4
+ * An account with bear minimum information required for recoveries.
5
+ */
6
+ export interface RecoveryAccountData {
7
+ txCount: number;
8
+ totalBalance: number;
9
+ }
10
+ /**
11
+ * Factory for AddressApi & UtxoApi
12
+ */
13
+ export interface RecoveryProvider<TNumber extends number | bigint = number> {
14
+ getUnspentsForAddresses(addresses: string[]): Promise<Unspent<TNumber>[]>;
15
+ getAddressInfo(address: string): Promise<AddressInfo>;
16
+ getTransactionHex(txid: string): Promise<string>;
17
+ getTransactionIO(txid: string): Promise<TransactionIO>;
18
+ }
19
+ export declare function forCoin(coinName: string, apiToken?: string): RecoveryProvider<number>;
20
+ //# sourceMappingURL=RecoveryProvider.d.ts.map
@@ -0,0 +1 @@
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;AAElF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C;;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"}
@@ -0,0 +1,19 @@
1
+ import { BlockchairApi } from '@bitgo-beta/blockapis';
2
+ import { ApiNotImplementedError } from './baseApi';
3
+ export function forCoin(coinName, apiToken) {
4
+ switch (coinName) {
5
+ case 'btc':
6
+ case 'tbtc':
7
+ case 'bch':
8
+ case 'bcha':
9
+ case 'bsv':
10
+ case 'btg':
11
+ case 'dash':
12
+ case 'doge':
13
+ case 'ltc':
14
+ case 'zec':
15
+ return BlockchairApi.forCoin(coinName, { apiToken });
16
+ }
17
+ throw new ApiNotImplementedError(coinName);
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3ZlcnlQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWNvdmVyeS9SZWNvdmVyeVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sdUJBQXVCLENBQUM7QUFJbEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBb0JuRCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWdCLEVBQUUsUUFBaUI7SUFDekQsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUs7WUFDUixPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxJQUFJLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbG9ja2NoYWlyQXBpLCBBZGRyZXNzSW5mbywgVHJhbnNhY3Rpb25JTyB9IGZyb20gJ0BiaXRnby1iZXRhL2Jsb2NrYXBpcyc7XG5cbmltcG9ydCB0eXBlIHsgVW5zcGVudCB9IGZyb20gJy4uL3Vuc3BlbnQnO1xuXG5pbXBvcnQgeyBBcGlOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi9iYXNlQXBpJztcblxuLyoqXG4gKiBBbiBhY2NvdW50IHdpdGggYmVhciBtaW5pbXVtIGluZm9ybWF0aW9uIHJlcXVpcmVkIGZvciByZWNvdmVyaWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5QWNjb3VudERhdGEge1xuICB0eENvdW50OiBudW1iZXI7XG4gIHRvdGFsQmFsYW5jZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZhY3RvcnkgZm9yIEFkZHJlc3NBcGkgJiBVdHhvQXBpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlQcm92aWRlcjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPiB7XG4gIGdldFVuc3BlbnRzRm9yQWRkcmVzc2VzKGFkZHJlc3Nlczogc3RyaW5nW10pOiBQcm9taXNlPFVuc3BlbnQ8VE51bWJlcj5bXT47XG4gIGdldEFkZHJlc3NJbmZvKGFkZHJlc3M6IHN0cmluZyk6IFByb21pc2U8QWRkcmVzc0luZm8+O1xuICBnZXRUcmFuc2FjdGlvbkhleCh0eGlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG4gIGdldFRyYW5zYWN0aW9uSU8odHhpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbklPPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvckNvaW4oY29pbk5hbWU6IHN0cmluZywgYXBpVG9rZW4/OiBzdHJpbmcpOiBSZWNvdmVyeVByb3ZpZGVyPG51bWJlcj4ge1xuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAnYnRjJzpcbiAgICBjYXNlICd0YnRjJzpcbiAgICBjYXNlICdiY2gnOlxuICAgIGNhc2UgJ2JjaGEnOlxuICAgIGNhc2UgJ2Jzdic6XG4gICAgY2FzZSAnYnRnJzpcbiAgICBjYXNlICdkYXNoJzpcbiAgICBjYXNlICdkb2dlJzpcbiAgICBjYXNlICdsdGMnOlxuICAgIGNhc2UgJ3plYyc6XG4gICAgICByZXR1cm4gQmxvY2tjaGFpckFwaS5mb3JDb2luKGNvaW5OYW1lLCB7IGFwaVRva2VuIH0pO1xuICB9XG5cbiAgdGhyb3cgbmV3IEFwaU5vdEltcGxlbWVudGVkRXJyb3IoY29pbk5hbWUpO1xufVxuIl19