@bitgo-beta/abstract-utxo 1.1.1-beta.177 → 1.1.1-beta.1771

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 (798) hide show
  1. package/README.md +76 -0
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts +440 -0
  3. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
  4. package/dist/cjs/src/abstractUtxoCoin.js +656 -0
  5. package/dist/cjs/src/address/fixedScript.d.ts +49 -0
  6. package/dist/cjs/src/address/fixedScript.d.ts.map +1 -0
  7. package/dist/cjs/src/address/fixedScript.js +137 -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 +20 -0
  14. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -0
  15. package/dist/cjs/src/descriptor/NamedDescriptor.js +79 -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 +68 -0
  19. package/dist/cjs/src/descriptor/builder/builder.d.ts +13 -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 +75 -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 +51 -0
  80. package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -0
  81. package/dist/cjs/src/impl/btc/inscriptionBuilder.js +183 -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 +34 -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 +9 -0
  125. package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
  126. package/dist/cjs/src/impl/ltc/ltc.js +53 -0
  127. package/dist/cjs/src/impl/ltc/tltc.d.ts +9 -0
  128. package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
  129. package/dist/cjs/src/impl/ltc/tltc.js +52 -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 +21 -0
  140. package/dist/cjs/src/index.d.ts.map +1 -0
  141. package/dist/cjs/src/index.js +60 -0
  142. package/dist/cjs/src/keychains.d.ts +52 -0
  143. package/dist/cjs/src/keychains.d.ts.map +1 -0
  144. package/dist/cjs/src/keychains.js +136 -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 +24 -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 +83 -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 -1
  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 +89 -0
  170. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
  171. package/dist/cjs/src/recovery/backupKeyRecovery.js +377 -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 +26 -6
  179. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
  180. package/dist/cjs/src/recovery/crossChainRecovery.js +399 -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 +85 -0
  187. package/dist/cjs/src/recovery/psbt.d.ts.map +1 -0
  188. package/dist/cjs/src/recovery/psbt.js +265 -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 +140 -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 +12 -0
  199. package/dist/cjs/src/transaction/decode.d.ts.map +1 -0
  200. package/dist/cjs/src/transaction/decode.js +84 -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 +82 -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 +17 -0
  208. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
  209. package/dist/cjs/src/transaction/descriptor/parse.js +116 -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 +25 -0
  217. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
  218. package/dist/cjs/src/transaction/descriptor/signPsbt.js +43 -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 +109 -0
  222. package/dist/cjs/src/transaction/explainTransaction.d.ts +19 -0
  223. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
  224. package/dist/cjs/src/transaction/explainTransaction.js +88 -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 +26 -0
  231. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +11 -0
  232. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  233. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +67 -0
  234. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +73 -0
  235. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  236. package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +349 -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 +32 -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 +220 -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 +215 -0
  249. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +9 -0
  250. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  251. package/dist/cjs/src/transaction/fixedScript/replayProtection.js +46 -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 +153 -0
  255. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts +21 -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 +17 -0
  259. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
  260. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +115 -0
  261. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +25 -0
  262. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  263. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +69 -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 +8 -0
  271. package/dist/cjs/src/transaction/index.d.ts.map +1 -0
  272. package/dist/cjs/src/transaction/index.js +50 -0
  273. package/dist/cjs/src/transaction/outputDifference.d.ts +40 -0
  274. package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
  275. package/dist/cjs/src/transaction/outputDifference.js +47 -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 +29 -0
  280. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -0
  281. package/dist/cjs/src/transaction/recipient.js +91 -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 +105 -0
  285. package/dist/cjs/src/transaction/types.d.ts +49 -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/verifyKey.d.ts +29 -0
  292. package/dist/cjs/src/verifyKey.d.ts.map +1 -0
  293. package/dist/cjs/src/verifyKey.js +164 -0
  294. package/dist/cjs/src/wallet.d.ts +15 -0
  295. package/dist/cjs/src/wallet.d.ts.map +1 -0
  296. package/dist/cjs/src/wallet.js +8 -0
  297. package/dist/cjs/test/integration/impl/bch/bch.d.ts +2 -0
  298. package/dist/cjs/test/integration/impl/bch/bch.d.ts.map +1 -0
  299. package/dist/cjs/test/integration/impl/bch/bch.js +74 -0
  300. package/dist/cjs/test/unit/address.d.ts +2 -0
  301. package/dist/cjs/test/unit/address.d.ts.map +1 -0
  302. package/dist/cjs/test/unit/address.js +182 -0
  303. package/dist/cjs/test/unit/bip322.d.ts +2 -0
  304. package/dist/cjs/test/unit/bip322.d.ts.map +1 -0
  305. package/dist/cjs/test/unit/bip322.js +361 -0
  306. package/dist/cjs/test/unit/coins.d.ts +2 -0
  307. package/dist/cjs/test/unit/coins.d.ts.map +1 -0
  308. package/dist/cjs/test/unit/coins.js +114 -0
  309. package/dist/cjs/test/unit/customChangeWallet.d.ts +2 -0
  310. package/dist/cjs/test/unit/customChangeWallet.d.ts.map +1 -0
  311. package/dist/cjs/test/unit/customChangeWallet.js +154 -0
  312. package/dist/cjs/test/unit/customSigner.d.ts +3 -0
  313. package/dist/cjs/test/unit/customSigner.d.ts.map +1 -0
  314. package/dist/cjs/test/unit/customSigner.js +108 -0
  315. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts +2 -0
  316. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts.map +1 -0
  317. package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +18 -0
  318. package/dist/cjs/test/unit/descriptor/builder.d.ts +2 -0
  319. package/dist/cjs/test/unit/descriptor/builder.d.ts.map +1 -0
  320. package/dist/cjs/test/unit/descriptor/builder.js +72 -0
  321. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts +2 -0
  322. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  323. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +20 -0
  324. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts +2 -0
  325. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts.map +1 -0
  326. package/dist/cjs/test/unit/descriptor/descriptorWallet.js +28 -0
  327. package/dist/cjs/test/unit/descriptorAddress.d.ts +3 -0
  328. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -0
  329. package/dist/cjs/test/unit/descriptorAddress.js +102 -0
  330. package/dist/cjs/test/unit/explainTransaction.d.ts +2 -0
  331. package/dist/cjs/test/unit/explainTransaction.d.ts.map +1 -0
  332. package/dist/cjs/test/unit/explainTransaction.js +74 -0
  333. package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts +15 -0
  334. package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts.map +1 -0
  335. package/dist/cjs/test/unit/fixtures/bip322/fixtures.js +51 -0
  336. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts +4 -0
  337. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts.map +1 -0
  338. package/dist/cjs/test/unit/fixtures/psbtHexProof.js +9 -0
  339. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts +2 -0
  340. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts.map +1 -0
  341. package/dist/cjs/test/unit/impl/bch/unit/bch.js +138 -0
  342. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts +2 -0
  343. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts.map +1 -0
  344. package/dist/cjs/test/unit/impl/bcha/unit/index.js +47 -0
  345. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts +2 -0
  346. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts.map +1 -0
  347. package/dist/cjs/test/unit/impl/bsv/unit/index.js +32 -0
  348. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts +2 -0
  349. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts.map +1 -0
  350. package/dist/cjs/test/unit/impl/btc/unit/btc.js +220 -0
  351. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts +4 -0
  352. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts.map +1 -0
  353. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.js +10 -0
  354. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts +2 -0
  355. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts.map +1 -0
  356. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.js +18 -0
  357. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts +2 -0
  358. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts.map +1 -0
  359. package/dist/cjs/test/unit/impl/btg/unit/index.js +29 -0
  360. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts +2 -0
  361. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts.map +1 -0
  362. package/dist/cjs/test/unit/impl/dash/unit/index.js +32 -0
  363. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts +2 -0
  364. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts.map +1 -0
  365. package/dist/cjs/test/unit/impl/doge/unit/index.js +32 -0
  366. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts +2 -0
  367. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts.map +1 -0
  368. package/dist/cjs/test/unit/impl/ltc/unit/index.js +39 -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 +29 -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 +49 -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/prebuildAndSign.d.ts +6 -0
  385. package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -0
  386. package/dist/cjs/test/unit/prebuildAndSign.js +270 -0
  387. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts +2 -0
  388. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts.map +1 -0
  389. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +309 -0
  390. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts +2 -0
  391. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts.map +1 -0
  392. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +294 -0
  393. package/dist/cjs/test/unit/recovery/mock.d.ts +30 -0
  394. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -0
  395. package/dist/cjs/test/unit/recovery/mock.js +138 -0
  396. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts +2 -0
  397. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  398. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +30 -0
  399. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts +6 -0
  400. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
  401. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +17 -0
  402. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts +2 -0
  403. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts.map +1 -0
  404. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.js +76 -0
  405. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts +2 -0
  406. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts.map +1 -0
  407. package/dist/cjs/test/unit/transaction/descriptor/parse.js +135 -0
  408. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts +2 -0
  409. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts.map +1 -0
  410. package/dist/cjs/test/unit/transaction/descriptor/sign.js +32 -0
  411. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts +2 -0
  412. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts.map +1 -0
  413. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +48 -0
  414. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts +2 -0
  415. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts.map +1 -0
  416. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +129 -0
  417. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts +2 -0
  418. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts.map +1 -0
  419. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +287 -0
  420. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts +2 -0
  421. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  422. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.js +60 -0
  423. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts +2 -0
  424. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts.map +1 -0
  425. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.js +154 -0
  426. package/dist/cjs/test/unit/transaction.d.ts +2 -0
  427. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  428. package/dist/cjs/test/unit/transaction.js +527 -0
  429. package/dist/cjs/test/unit/txFormat.d.ts +30 -0
  430. package/dist/cjs/test/unit/txFormat.d.ts.map +1 -0
  431. package/dist/cjs/test/unit/txFormat.js +174 -0
  432. package/dist/cjs/test/unit/util/fixtures.d.ts +14 -0
  433. package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
  434. package/dist/cjs/test/unit/util/fixtures.js +102 -0
  435. package/dist/cjs/test/unit/util/index.d.ts +7 -0
  436. package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
  437. package/dist/cjs/test/unit/util/index.js +23 -0
  438. package/dist/cjs/test/unit/util/keychains.d.ts +26 -0
  439. package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
  440. package/dist/cjs/test/unit/util/keychains.js +72 -0
  441. package/dist/cjs/test/unit/util/nockBitGo.d.ts +3 -0
  442. package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
  443. package/dist/cjs/test/unit/util/nockBitGo.js +11 -0
  444. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts +8 -0
  445. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -0
  446. package/dist/cjs/test/unit/util/nockIndexerAPI.js +56 -0
  447. package/dist/cjs/test/unit/util/transaction.d.ts +24 -0
  448. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
  449. package/dist/cjs/test/unit/util/transaction.js +107 -0
  450. package/dist/cjs/test/unit/util/unspents.d.ts +13 -0
  451. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
  452. package/dist/cjs/test/unit/util/unspents.js +108 -0
  453. package/dist/cjs/test/unit/util/utxoCoins.d.ts +8 -0
  454. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
  455. package/dist/cjs/test/unit/util/utxoCoins.js +95 -0
  456. package/dist/cjs/test/unit/util/wallet.d.ts +4 -0
  457. package/dist/cjs/test/unit/util/wallet.d.ts.map +1 -0
  458. package/dist/cjs/test/unit/util/wallet.js +9 -0
  459. package/dist/cjs/test/unit/verifyTransaction.d.ts +2 -0
  460. package/dist/cjs/test/unit/verifyTransaction.d.ts.map +1 -0
  461. package/dist/cjs/test/unit/verifyTransaction.js +327 -0
  462. package/dist/cjs/test/unit/wallet.d.ts +2 -0
  463. package/dist/cjs/test/unit/wallet.d.ts.map +1 -0
  464. package/dist/cjs/test/unit/wallet.js +248 -0
  465. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  466. package/dist/esm/abstractUtxoCoin.d.ts +440 -0
  467. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
  468. package/dist/esm/abstractUtxoCoin.js +615 -0
  469. package/dist/esm/address/fixedScript.d.ts +49 -0
  470. package/dist/esm/address/fixedScript.d.ts.map +1 -0
  471. package/dist/esm/address/fixedScript.js +96 -0
  472. package/dist/esm/address/index.d.ts +2 -0
  473. package/dist/esm/address/index.d.ts.map +1 -0
  474. package/dist/esm/address/index.js +2 -0
  475. package/dist/esm/config.d.ts +9 -0
  476. package/dist/esm/config.js +11 -0
  477. package/dist/esm/descriptor/NamedDescriptor.d.ts +20 -0
  478. package/dist/esm/descriptor/NamedDescriptor.d.ts.map +1 -0
  479. package/dist/esm/descriptor/NamedDescriptor.js +39 -0
  480. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  481. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  482. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +29 -0
  483. package/dist/esm/descriptor/builder/builder.d.ts +13 -0
  484. package/dist/esm/descriptor/builder/builder.d.ts.map +1 -0
  485. package/dist/esm/descriptor/builder/builder.js +34 -0
  486. package/dist/esm/descriptor/builder/index.d.ts +3 -0
  487. package/dist/esm/descriptor/builder/index.d.ts.map +1 -0
  488. package/dist/esm/descriptor/builder/index.js +3 -0
  489. package/dist/esm/descriptor/builder/parse.d.ts +5 -0
  490. package/dist/esm/descriptor/builder/parse.d.ts.map +1 -0
  491. package/dist/esm/descriptor/builder/parse.js +112 -0
  492. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  493. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  494. package/dist/esm/descriptor/createWallet/createDescriptorWallet.js +37 -0
  495. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +12 -0
  496. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  497. package/dist/esm/descriptor/createWallet/createDescriptors.js +29 -0
  498. package/dist/esm/descriptor/createWallet/index.d.ts +3 -0
  499. package/dist/esm/descriptor/createWallet/index.d.ts.map +1 -0
  500. package/dist/esm/descriptor/createWallet/index.js +3 -0
  501. package/dist/esm/descriptor/descriptorWallet.d.ts +19 -0
  502. package/dist/esm/descriptor/descriptorWallet.d.ts.map +1 -0
  503. package/dist/esm/descriptor/descriptorWallet.js +16 -0
  504. package/dist/esm/descriptor/index.d.ts +8 -0
  505. package/dist/esm/descriptor/index.d.ts.map +1 -0
  506. package/dist/esm/descriptor/index.js +7 -0
  507. package/dist/esm/descriptor/validatePolicy.d.ts +22 -0
  508. package/dist/esm/descriptor/validatePolicy.d.ts.map +1 -0
  509. package/dist/esm/descriptor/validatePolicy.js +80 -0
  510. package/dist/esm/impl/bch/bch.d.ts +22 -0
  511. package/dist/esm/impl/bch/bch.d.ts.map +1 -0
  512. package/dist/esm/impl/bch/bch.js +38 -0
  513. package/dist/esm/impl/bch/index.d.ts +3 -0
  514. package/dist/esm/impl/bch/index.d.ts.map +1 -0
  515. package/dist/esm/impl/bch/index.js +3 -0
  516. package/dist/esm/impl/bch/tbch.d.ts +12 -0
  517. package/dist/esm/impl/bch/tbch.d.ts.map +1 -0
  518. package/dist/esm/impl/bch/tbch.js +11 -0
  519. package/dist/esm/impl/bcha/bcha.d.ts +9 -0
  520. package/dist/esm/impl/bcha/bcha.d.ts.map +1 -0
  521. package/dist/esm/impl/bcha/bcha.js +11 -0
  522. package/dist/esm/impl/bcha/index.d.ts +3 -0
  523. package/dist/esm/impl/bcha/index.d.ts.map +1 -0
  524. package/dist/esm/impl/bcha/index.js +3 -0
  525. package/dist/esm/impl/bcha/tbcha.d.ts +12 -0
  526. package/dist/esm/impl/bcha/tbcha.d.ts.map +1 -0
  527. package/dist/esm/impl/bcha/tbcha.js +11 -0
  528. package/dist/esm/impl/bsv/bsv.d.ts +9 -0
  529. package/dist/esm/impl/bsv/bsv.d.ts.map +1 -0
  530. package/dist/esm/impl/bsv/bsv.js +11 -0
  531. package/dist/esm/impl/bsv/index.d.ts +3 -0
  532. package/dist/esm/impl/bsv/index.d.ts.map +1 -0
  533. package/dist/esm/impl/bsv/index.js +3 -0
  534. package/dist/esm/impl/bsv/tbsv.d.ts +12 -0
  535. package/dist/esm/impl/bsv/tbsv.d.ts.map +1 -0
  536. package/dist/esm/impl/bsv/tbsv.js +11 -0
  537. package/dist/esm/impl/btc/btc.d.ts +15 -0
  538. package/dist/esm/impl/btc/btc.d.ts.map +1 -0
  539. package/dist/esm/impl/btc/btc.js +18 -0
  540. package/dist/esm/impl/btc/index.d.ts +7 -0
  541. package/dist/esm/impl/btc/index.d.ts.map +1 -0
  542. package/dist/esm/impl/btc/index.js +7 -0
  543. package/dist/esm/impl/btc/inscriptionBuilder.d.ts +51 -0
  544. package/dist/esm/impl/btc/inscriptionBuilder.d.ts.map +1 -0
  545. package/dist/esm/impl/btc/inscriptionBuilder.js +143 -0
  546. package/dist/esm/impl/btc/tbtc.d.ts +12 -0
  547. package/dist/esm/impl/btc/tbtc.d.ts.map +1 -0
  548. package/dist/esm/impl/btc/tbtc.js +11 -0
  549. package/dist/esm/impl/btc/tbtc4.d.ts +12 -0
  550. package/dist/esm/impl/btc/tbtc4.d.ts.map +1 -0
  551. package/dist/esm/impl/btc/tbtc4.js +11 -0
  552. package/dist/esm/impl/btc/tbtcbgsig.d.ts +12 -0
  553. package/dist/esm/impl/btc/tbtcbgsig.d.ts.map +1 -0
  554. package/dist/esm/impl/btc/tbtcbgsig.js +11 -0
  555. package/dist/esm/impl/btc/tbtcsig.d.ts +12 -0
  556. package/dist/esm/impl/btc/tbtcsig.d.ts.map +1 -0
  557. package/dist/esm/impl/btc/tbtcsig.js +11 -0
  558. package/dist/esm/impl/btg/btg.d.ts +9 -0
  559. package/dist/esm/impl/btg/btg.d.ts.map +1 -0
  560. package/dist/esm/impl/btg/btg.js +11 -0
  561. package/dist/esm/impl/btg/index.d.ts +2 -0
  562. package/dist/esm/impl/btg/index.d.ts.map +1 -0
  563. package/dist/esm/impl/btg/index.js +2 -0
  564. package/dist/esm/impl/dash/dash.d.ts +9 -0
  565. package/dist/esm/impl/dash/dash.d.ts.map +1 -0
  566. package/dist/esm/impl/dash/dash.js +11 -0
  567. package/dist/esm/impl/dash/index.d.ts +3 -0
  568. package/dist/esm/impl/dash/index.d.ts.map +1 -0
  569. package/dist/esm/impl/dash/index.js +3 -0
  570. package/dist/esm/impl/dash/tdash.d.ts +12 -0
  571. package/dist/esm/impl/dash/tdash.d.ts.map +1 -0
  572. package/dist/esm/impl/dash/tdash.js +11 -0
  573. package/dist/esm/impl/doge/doge.d.ts +34 -0
  574. package/dist/esm/impl/doge/doge.d.ts.map +1 -0
  575. package/dist/esm/impl/doge/doge.js +75 -0
  576. package/dist/esm/impl/doge/index.d.ts +3 -0
  577. package/dist/esm/impl/doge/index.d.ts.map +1 -0
  578. package/dist/esm/impl/doge/index.js +3 -0
  579. package/dist/esm/impl/doge/tdoge.d.ts +12 -0
  580. package/dist/esm/impl/doge/tdoge.d.ts.map +1 -0
  581. package/dist/esm/impl/doge/tdoge.js +11 -0
  582. package/dist/esm/impl/index.d.ts +10 -0
  583. package/dist/esm/impl/index.d.ts.map +1 -0
  584. package/dist/esm/impl/index.js +10 -0
  585. package/dist/esm/impl/ltc/index.d.ts +3 -0
  586. package/dist/esm/impl/ltc/index.d.ts.map +1 -0
  587. package/dist/esm/impl/ltc/index.js +3 -0
  588. package/dist/esm/impl/ltc/ltc.d.ts +9 -0
  589. package/dist/esm/impl/ltc/ltc.d.ts.map +1 -0
  590. package/dist/esm/impl/ltc/ltc.js +16 -0
  591. package/dist/esm/impl/ltc/tltc.d.ts +9 -0
  592. package/dist/esm/impl/ltc/tltc.d.ts.map +1 -0
  593. package/dist/esm/impl/ltc/tltc.js +15 -0
  594. package/dist/esm/impl/zec/index.d.ts +3 -0
  595. package/dist/esm/impl/zec/index.d.ts.map +1 -0
  596. package/dist/esm/impl/zec/index.js +3 -0
  597. package/dist/esm/impl/zec/tzec.d.ts +9 -0
  598. package/dist/esm/impl/zec/tzec.d.ts.map +1 -0
  599. package/dist/esm/impl/zec/tzec.js +11 -0
  600. package/dist/esm/impl/zec/zec.d.ts +12 -0
  601. package/dist/esm/impl/zec/zec.d.ts.map +1 -0
  602. package/dist/esm/impl/zec/zec.js +11 -0
  603. package/dist/esm/index.d.ts +21 -0
  604. package/dist/esm/index.d.ts.map +1 -0
  605. package/dist/esm/index.js +21 -0
  606. package/dist/esm/keychains.d.ts +52 -0
  607. package/dist/esm/keychains.d.ts.map +1 -0
  608. package/dist/esm/keychains.js +92 -0
  609. package/dist/esm/names.d.ts +36 -0
  610. package/dist/esm/names.d.ts.map +1 -0
  611. package/dist/esm/names.js +184 -0
  612. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
  613. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  614. package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +21 -0
  615. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts +46 -0
  616. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  617. package/dist/esm/offlineVault/OfflineVaultSignable.js +18 -0
  618. package/dist/esm/offlineVault/TransactionExplanation.d.ts +16 -0
  619. package/dist/esm/offlineVault/TransactionExplanation.d.ts.map +1 -0
  620. package/dist/esm/offlineVault/TransactionExplanation.js +12 -0
  621. package/dist/esm/offlineVault/descriptor/index.d.ts +2 -0
  622. package/dist/esm/offlineVault/descriptor/index.d.ts.map +1 -0
  623. package/dist/esm/offlineVault/descriptor/index.js +2 -0
  624. package/dist/esm/offlineVault/descriptor/transaction.d.ts +39 -0
  625. package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -0
  626. package/dist/esm/offlineVault/descriptor/transaction.js +44 -0
  627. package/dist/esm/offlineVault/index.d.ts +6 -0
  628. package/dist/esm/offlineVault/index.d.ts.map +1 -0
  629. package/dist/esm/offlineVault/index.js +4 -0
  630. package/dist/esm/recovery/RecoveryProvider.d.ts +22 -0
  631. package/dist/{src → esm}/recovery/RecoveryProvider.d.ts.map +1 -1
  632. package/dist/esm/recovery/RecoveryProvider.js +19 -0
  633. package/dist/esm/recovery/backupKeyRecovery.d.ts +89 -0
  634. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -0
  635. package/dist/esm/recovery/backupKeyRecovery.js +335 -0
  636. package/dist/esm/recovery/baseApi.d.ts +24 -0
  637. package/dist/esm/recovery/baseApi.d.ts.map +1 -0
  638. package/dist/esm/recovery/baseApi.js +64 -0
  639. package/dist/esm/recovery/coingeckoApi.d.ts +6 -0
  640. package/dist/esm/recovery/coingeckoApi.d.ts.map +1 -0
  641. package/dist/esm/recovery/coingeckoApi.js +40 -0
  642. package/dist/esm/recovery/crossChainRecovery.d.ts +97 -0
  643. package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -0
  644. package/dist/esm/recovery/crossChainRecovery.js +359 -0
  645. package/dist/esm/recovery/index.d.ts +7 -0
  646. package/dist/{src → esm}/recovery/index.d.ts.map +1 -1
  647. package/dist/esm/recovery/index.js +7 -0
  648. package/dist/esm/recovery/mempoolApi.d.ts +7 -0
  649. package/dist/{src → esm}/recovery/mempoolApi.d.ts.map +1 -1
  650. package/dist/esm/recovery/mempoolApi.js +29 -0
  651. package/dist/esm/recovery/psbt.d.ts +85 -0
  652. package/dist/esm/recovery/psbt.d.ts.map +1 -0
  653. package/dist/esm/recovery/psbt.js +222 -0
  654. package/dist/esm/tnumber.d.ts +4 -0
  655. package/dist/esm/tnumber.d.ts.map +1 -0
  656. package/dist/esm/tnumber.js +9 -0
  657. package/dist/esm/transaction/bip322.d.ts +27 -0
  658. package/dist/esm/transaction/bip322.d.ts.map +1 -0
  659. package/dist/esm/transaction/bip322.js +101 -0
  660. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts +1 -0
  661. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  662. package/dist/esm/transaction/common/verifyPayGoAmount.js +1 -0
  663. package/dist/esm/transaction/decode.d.ts +12 -0
  664. package/dist/esm/transaction/decode.d.ts.map +1 -0
  665. package/dist/esm/transaction/decode.js +46 -0
  666. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +5 -0
  667. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  668. package/dist/esm/transaction/descriptor/explainPsbt.js +46 -0
  669. package/dist/esm/transaction/descriptor/index.d.ts +7 -0
  670. package/dist/esm/transaction/descriptor/index.d.ts.map +1 -0
  671. package/dist/esm/transaction/descriptor/index.js +6 -0
  672. package/dist/esm/transaction/descriptor/parse.d.ts +17 -0
  673. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
  674. package/dist/esm/transaction/descriptor/parse.js +79 -0
  675. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +14 -0
  676. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  677. package/dist/esm/transaction/descriptor/parseToAmountType.js +55 -0
  678. package/dist/esm/transaction/descriptor/recipient.d.ts +5 -0
  679. package/dist/esm/transaction/descriptor/recipient.d.ts.map +1 -0
  680. package/dist/esm/transaction/descriptor/recipient.js +2 -0
  681. package/dist/esm/transaction/descriptor/signPsbt.d.ts +25 -0
  682. package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -0
  683. package/dist/esm/transaction/descriptor/signPsbt.js +38 -0
  684. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +37 -0
  685. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  686. package/dist/esm/transaction/descriptor/verifyTransaction.js +66 -0
  687. package/dist/esm/transaction/explainTransaction.d.ts +19 -0
  688. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
  689. package/dist/esm/transaction/explainTransaction.js +52 -0
  690. package/dist/esm/transaction/fetchInputs.d.ts +27 -0
  691. package/dist/esm/transaction/fetchInputs.d.ts.map +1 -0
  692. package/dist/esm/transaction/fetchInputs.js +74 -0
  693. package/dist/esm/transaction/fixedScript/SigningError.d.ts +24 -0
  694. package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -0
  695. package/dist/esm/transaction/fixedScript/SigningError.js +21 -0
  696. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +11 -0
  697. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  698. package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +64 -0
  699. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +73 -0
  700. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  701. package/dist/esm/transaction/fixedScript/explainTransaction.js +312 -0
  702. package/dist/esm/transaction/fixedScript/index.d.ts +10 -0
  703. package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
  704. package/dist/esm/transaction/fixedScript/index.js +9 -0
  705. package/dist/esm/transaction/fixedScript/musig2.d.ts +4 -0
  706. package/dist/esm/transaction/fixedScript/musig2.d.ts.map +1 -0
  707. package/dist/esm/transaction/fixedScript/musig2.js +2 -0
  708. package/dist/esm/transaction/fixedScript/parseOutput.d.ts +28 -0
  709. package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  710. package/dist/esm/transaction/fixedScript/parseOutput.js +213 -0
  711. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +8 -0
  712. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  713. package/dist/esm/transaction/fixedScript/parseTransaction.js +176 -0
  714. package/dist/esm/transaction/fixedScript/replayProtection.d.ts +9 -0
  715. package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  716. package/dist/esm/transaction/fixedScript/replayProtection.js +40 -0
  717. package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +32 -0
  718. package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
  719. package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +113 -0
  720. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts +21 -0
  721. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -0
  722. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.js +117 -0
  723. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +17 -0
  724. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
  725. package/dist/esm/transaction/fixedScript/signPsbtWasm.js +108 -0
  726. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +25 -0
  727. package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  728. package/dist/esm/transaction/fixedScript/signTransaction.js +62 -0
  729. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts +21 -0
  730. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  731. package/dist/esm/transaction/fixedScript/verifyTransaction.js +160 -0
  732. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +9 -0
  733. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
  734. package/dist/esm/transaction/getPayGoVerificationPubkey.js +17 -0
  735. package/dist/esm/transaction/index.d.ts +8 -0
  736. package/dist/esm/transaction/index.d.ts.map +1 -0
  737. package/dist/esm/transaction/index.js +8 -0
  738. package/dist/esm/transaction/outputDifference.d.ts +40 -0
  739. package/dist/esm/transaction/outputDifference.d.ts.map +1 -0
  740. package/dist/esm/transaction/outputDifference.js +42 -0
  741. package/dist/esm/transaction/parseTransaction.d.ts +4 -0
  742. package/dist/esm/transaction/parseTransaction.d.ts.map +1 -0
  743. package/dist/esm/transaction/parseTransaction.js +12 -0
  744. package/dist/esm/transaction/recipient.d.ts +29 -0
  745. package/dist/esm/transaction/recipient.d.ts.map +1 -0
  746. package/dist/esm/transaction/recipient.js +51 -0
  747. package/dist/esm/transaction/signTransaction.d.ts +6 -0
  748. package/dist/esm/transaction/signTransaction.d.ts.map +1 -0
  749. package/dist/esm/transaction/signTransaction.js +66 -0
  750. package/dist/esm/transaction/types.d.ts +49 -0
  751. package/dist/esm/transaction/types.d.ts.map +1 -0
  752. package/dist/esm/transaction/types.js +4 -0
  753. package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
  754. package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -0
  755. package/dist/esm/transaction/verifyTransaction.js +14 -0
  756. package/dist/esm/verifyKey.d.ts +29 -0
  757. package/dist/esm/verifyKey.d.ts.map +1 -0
  758. package/dist/esm/verifyKey.js +123 -0
  759. package/dist/esm/wallet.d.ts +15 -0
  760. package/dist/esm/wallet.d.ts.map +1 -0
  761. package/dist/esm/wallet.js +5 -0
  762. package/package.json +48 -18
  763. package/.eslintignore +0 -5
  764. package/CHANGELOG.md +0 -235
  765. package/dist/src/abstractUtxoCoin.d.ts +0 -392
  766. package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
  767. package/dist/src/abstractUtxoCoin.js +0 -931
  768. package/dist/src/config.js +0 -14
  769. package/dist/src/index.d.ts +0 -6
  770. package/dist/src/index.d.ts.map +0 -1
  771. package/dist/src/index.js +0 -18
  772. package/dist/src/parseOutput.d.ts +0 -22
  773. package/dist/src/parseOutput.d.ts.map +0 -1
  774. package/dist/src/parseOutput.js +0 -170
  775. package/dist/src/recovery/RecoveryProvider.js +0 -24
  776. package/dist/src/recovery/backupKeyRecovery.d.ts +0 -62
  777. package/dist/src/recovery/backupKeyRecovery.d.ts.map +0 -1
  778. package/dist/src/recovery/backupKeyRecovery.js +0 -293
  779. package/dist/src/recovery/baseApi.d.ts.map +0 -1
  780. package/dist/src/recovery/baseApi.js +0 -73
  781. package/dist/src/recovery/coingeckoApi.d.ts.map +0 -1
  782. package/dist/src/recovery/coingeckoApi.js +0 -47
  783. package/dist/src/recovery/crossChainRecovery.d.ts.map +0 -1
  784. package/dist/src/recovery/crossChainRecovery.js +0 -293
  785. package/dist/src/recovery/mempoolApi.js +0 -33
  786. package/dist/src/recovery/smartbitApi.d.ts +0 -11
  787. package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
  788. package/dist/src/recovery/smartbitApi.js +0 -36
  789. package/dist/src/replayProtection.d.ts +0 -4
  790. package/dist/src/replayProtection.d.ts.map +0 -1
  791. package/dist/src/replayProtection.js +0 -21
  792. package/dist/src/sign.d.ts +0 -31
  793. package/dist/src/sign.d.ts.map +0 -1
  794. package/dist/src/sign.js +0 -104
  795. package/dist/tsconfig.tsbuildinfo +0 -8014
  796. /package/dist/{src → cjs/src}/config.d.ts +0 -0
  797. /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
  798. /package/dist/{src → esm}/config.d.ts.map +0 -0
package/README.md CHANGED
@@ -1 +1,77 @@
1
1
  # BitGo abstract-utxo
2
+
3
+ This module provides the foundational `AbstractUtxoCoin` class and concrete implementations for Bitcoin and Bitcoin-like UTXO-based cryptocurrencies within the BitGo platform.
4
+
5
+ ## Overview
6
+
7
+ The `AbstractUtxoCoin` class serves as the base implementation for all UTXO-based coins, providing common functionality for transaction building, signing, verification, and recovery operations. Each supported cryptocurrency extends this class to provide coin-specific behavior while leveraging the shared UTXO infrastructure.
8
+
9
+ ## Supported Coins
10
+
11
+ Concrete implementations are provided in the `src/impl/` directory:
12
+
13
+ - **btc/** - Bitcoin (BTC) and Bitcoin testnet variants
14
+ - **bch/** - Bitcoin Cash (BCH)
15
+ - **bcha/** - Bitcoin Cash ABC (BCHA)
16
+ - **bsv/** - Bitcoin SV (BSV)
17
+ - **btg/** - Bitcoin Gold (BTG)
18
+ - **ltc/** - Litecoin (LTC)
19
+ - **dash/** - Dash (DASH)
20
+ - **doge/** - Dogecoin (DOGE)
21
+ - **zec/** - Zcash (ZEC)
22
+
23
+ ## Key Features
24
+
25
+ ### Transaction Operations
26
+ - **Building & Signing**: Support for both legacy and PSBT transaction formats
27
+ - **Multi-signature**: 2-of-3 multisig with various script types (P2SH, P2WSH, P2SH-P2WSH, P2TR-MuSig2)
28
+ - **Verification**: Comprehensive transaction intent verification before signing
29
+ - **Explanation**: Decode and explain transaction details (inputs, outputs, fees)
30
+
31
+ ### Wallet Types
32
+ - **Fixed Script Wallets**: Traditional HD wallets with deterministic address generation
33
+ - **Descriptor Wallets**: Modern wallet format using output script descriptors
34
+ - **Distributed Custody**: Support for enterprise custody configurations
35
+
36
+ ### Address Management
37
+ - Address validation and derivation verification
38
+ - Support for multiple address formats (base58, bech32, cashaddr for BCH)
39
+ - Chain/index-based address generation for fixed script wallets
40
+
41
+ ### Recovery Operations
42
+ - **Backup Key Recovery**: Recover funds using backup key when BitGo is unavailable
43
+ - **Cross-Chain Recovery**: Recover coins sent to wrong chain (e.g., BTC sent to LTC address)
44
+ - **V1 Wallet Recovery**: Support for legacy V1 wallet recovery
45
+
46
+ ### Advanced Features
47
+ - BIP322 message signing support
48
+ - MuSig2 for Taproot multisig
49
+ - Replay protection for chain splits
50
+ - Custom change address handling
51
+ - RBF (Replace-by-Fee) transaction support
52
+
53
+ ## Development Setup
54
+
55
+ ### VSCode Configuration
56
+
57
+ For an optimal development experience in VSCode, configure the Mocha Test Explorer with the following settings in `.vscode/settings.json`:
58
+
59
+ ```json
60
+ {
61
+ "mochaExplorer.files": "test/**/*.ts",
62
+ "mochaExplorer.nodeArgv": ["--import", "tsx"],
63
+ "mochaExplorer.logpanel": true
64
+ }
65
+ ```
66
+
67
+ This configuration enables:
68
+ - **Test Discovery**: Automatically finds all TypeScript test files in the `test/` directory
69
+ - **TypeScript Support**: Uses `tsx` for running TypeScript tests without compilation
70
+ - **Log Panel**: Displays test output for easier debugging
71
+
72
+ ### Running Tests
73
+
74
+ With the Mocha Test Explorer configured, you can:
75
+ - View and run individual tests or test suites from the VSCode Test Explorer panel
76
+ - Set breakpoints and debug tests directly in the editor
77
+ - Monitor test output in the integrated log panel
@@ -0,0 +1,440 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { bitgo } from '@bitgo-beta/utxo-lib';
3
+ import { AddressCoinSpecific, BaseCoin, BitGoBase, CreateAddressFormat, ExtraPrebuildParamsOptions, HalfSignedUtxoTransaction, IBaseCoin, IRequestTracer, IWallet, KeychainsTriplet, MultisigType, ParseTransactionOptions as BaseParseTransactionOptions, PrecreateBitGoOptions, PresignTransactionOptions, RequestTracer, SignedTransaction, SignTransactionOptions as BaseSignTransactionOptions, SupplementGenerateWalletOptions, TransactionParams as BaseTransactionParams, TransactionPrebuild as BaseTransactionPrebuild, Triple, VerificationOptions, VerifyAddressOptions as BaseVerifyAddressOptions, VerifyTransactionOptions as BaseVerifyTransactionOptions, Wallet } from '@bitgo-beta/sdk-core';
4
+ import { fixedScriptWallet } from '@bitgo/wasm-utxo';
5
+ import { backupKeyRecovery, CrossChainRecoverySigned, CrossChainRecoveryUnsigned, RecoverParams, RecoveryProvider, v1BackupKeyRecovery, V1RecoverParams, v1Sweep, V1SweepParams } from './recovery';
6
+ import { DecodedTransaction } from './transaction';
7
+ import type { TransactionExplanation } from './transaction/fixedScript/explainTransaction';
8
+ import { Musig2Participant } from './transaction/fixedScript/musig2';
9
+ import { UtxoCoinName, UtxoCoinNameMainnet } from './names';
10
+ import { ParsedTransaction, SdkBackend } from './transaction/types';
11
+ import { UtxoKeychain } from './keychains';
12
+ import { UtxoWallet } from './wallet';
13
+ import ScriptType2Of3 = utxolib.bitgo.outputScripts.ScriptType2Of3;
14
+ export type TxFormat = 'legacy' | 'psbt' | 'psbt-lite';
15
+ export declare class ErrorDeprecatedTxFormat extends Error {
16
+ constructor(txFormat: TxFormat);
17
+ }
18
+ type UtxoCustomSigningFunction<TNumber extends number | bigint> = {
19
+ (params: {
20
+ coin: IBaseCoin;
21
+ txPrebuild: TransactionPrebuild<TNumber>;
22
+ pubs?: string[];
23
+ /**
24
+ * signingStep flag becomes applicable when both of the following conditions are met:
25
+ * 1) When the external express signer is activated
26
+ * 2) When the PSBT includes at least one taprootKeyPathSpend input.
27
+ *
28
+ * The signing process of a taprootKeyPathSpend input is a 4-step sequence:
29
+ * i) user nonce generation - signerNonce - this is the first call to external express signer signTransaction
30
+ * ii) bitgo nonce generation - cosignerNonce - this is the first and only call to local signTransaction
31
+ * iii) user signature - signerSignature - this is the second call to external express signer signTransaction
32
+ * iv) bitgo signature - not in signTransaction method’s scope
33
+ *
34
+ * In the absence of this flag, the aforementioned first three sequence is executed in a single signTransaction call.
35
+ *
36
+ * NOTE: We make a strong assumption that the external express signer and its caller uses sticky sessions,
37
+ * since PSBTs are cached in step 1 to be used in step 3 for MuSig2 user secure nonce access.
38
+ */
39
+ signingStep?: 'signerNonce' | 'signerSignature' | 'cosignerNonce';
40
+ }): Promise<SignedTransaction>;
41
+ };
42
+ type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
43
+ export type { DecodedTransaction } from './transaction/types';
44
+ export type RootWalletKeys = bitgo.RootWalletKeys;
45
+ export type UtxoCoinSpecific = AddressCoinSpecific | DescriptorAddressCoinSpecific;
46
+ export interface VerifyAddressOptions<TCoinSpecific extends UtxoCoinSpecific> extends BaseVerifyAddressOptions {
47
+ chain?: number;
48
+ index: number;
49
+ coinSpecific?: TCoinSpecific;
50
+ }
51
+ export type Bip322Message = {
52
+ address: string;
53
+ message: string;
54
+ };
55
+ export interface TransactionInfo<TNumber extends number | bigint = number> {
56
+ /** Maps txid to txhex. Required for offline signing. */
57
+ txHexes?: Record<string, string>;
58
+ changeAddresses?: string[];
59
+ /** psbt does not require unspents. */
60
+ unspents?: Unspent<TNumber>[];
61
+ }
62
+ export interface ExplainTransactionOptions<TNumber extends number | bigint = number> {
63
+ txHex: string;
64
+ txInfo?: TransactionInfo<TNumber>;
65
+ feeInfo?: string;
66
+ pubs?: Triple<string>;
67
+ decodeWith?: SdkBackend;
68
+ }
69
+ export interface DecoratedExplainTransactionOptions<TNumber extends number | bigint = number> extends ExplainTransactionOptions<TNumber> {
70
+ changeInfo?: {
71
+ address: string;
72
+ chain: number;
73
+ index: number;
74
+ }[];
75
+ }
76
+ export type UtxoNetwork = utxolib.Network;
77
+ export interface TransactionPrebuild<TNumber extends number | bigint = number> extends BaseTransactionPrebuild {
78
+ txInfo?: TransactionInfo<TNumber>;
79
+ blockHeight?: number;
80
+ decodeWith?: SdkBackend;
81
+ }
82
+ export interface TransactionParams extends BaseTransactionParams {
83
+ walletPassphrase?: string;
84
+ allowExternalChangeAddress?: boolean;
85
+ changeAddress?: string;
86
+ rbfTxIds?: string[];
87
+ }
88
+ export interface ParseTransactionOptions<TNumber extends number | bigint = number> extends BaseParseTransactionOptions {
89
+ txParams: TransactionParams;
90
+ txPrebuild: TransactionPrebuild<TNumber>;
91
+ wallet: UtxoWallet;
92
+ verification?: VerificationOptions;
93
+ reqId?: IRequestTracer;
94
+ }
95
+ export interface GenerateAddressOptions {
96
+ addressType?: ScriptType2Of3;
97
+ threshold?: number;
98
+ chain?: number;
99
+ index?: number;
100
+ segwit?: boolean;
101
+ bech32?: boolean;
102
+ }
103
+ export interface GenerateFixedScriptAddressOptions extends GenerateAddressOptions {
104
+ format?: CreateAddressFormat;
105
+ keychains: {
106
+ pub: string;
107
+ aspKeyId?: string;
108
+ }[];
109
+ }
110
+ export interface AddressDetails {
111
+ address: string;
112
+ chain: number;
113
+ index: number;
114
+ coin: string;
115
+ coinSpecific: AddressCoinSpecific | DescriptorAddressCoinSpecific;
116
+ addressType?: string;
117
+ }
118
+ export interface DescriptorAddressCoinSpecific extends AddressCoinSpecific {
119
+ descriptorName: string;
120
+ descriptorChecksum: string;
121
+ }
122
+ type UtxoBaseSignTransactionOptions<TNumber extends number | bigint = number> = BaseSignTransactionOptions & {
123
+ /** Transaction prebuild from bitgo server */
124
+ txPrebuild: {
125
+ /**
126
+ * walletId is required in following 2 scenarios.
127
+ * 1. External signer express mode is used.
128
+ * 2. bitgo MuSig2 nonce is requested
129
+ */
130
+ walletId?: string;
131
+ txHex: string;
132
+ txInfo?: TransactionInfo<TNumber>;
133
+ decodeWith?: SdkBackend;
134
+ };
135
+ /** xpubs triple for wallet (user, backup, bitgo). Required only when txPrebuild.txHex is not a PSBT */
136
+ pubs?: Triple<string>;
137
+ /** xpub for cosigner (defaults to bitgo) */
138
+ cosignerPub?: string;
139
+ /**
140
+ * When true, creates full-signed transaction without placeholder signatures.
141
+ * When false, creates half-signed transaction with placeholder signatures.
142
+ */
143
+ isLastSignature?: boolean;
144
+ /**
145
+ * If true, allows signing a non-segwit input with a witnessUtxo instead requiring a previous
146
+ * transaction (nonWitnessUtxo)
147
+ */
148
+ allowNonSegwitSigningWithoutPrevTx?: boolean;
149
+ wallet?: UtxoWallet;
150
+ };
151
+ export type SignTransactionOptions<TNumber extends number | bigint = number> = UtxoBaseSignTransactionOptions<TNumber> & ({
152
+ prv: string;
153
+ signingStep?: 'signerNonce' | 'signerSignature';
154
+ } | {
155
+ signingStep: 'cosignerNonce';
156
+ });
157
+ export interface MultiSigAddress {
158
+ outputScript: Buffer;
159
+ redeemScript?: Buffer;
160
+ witnessScript?: Buffer;
161
+ address: string;
162
+ }
163
+ export interface RecoverFromWrongChainOptions {
164
+ txid: string;
165
+ recoveryAddress: string;
166
+ wallet: string;
167
+ walletPassphrase?: string;
168
+ xprv?: string;
169
+ apiKey?: string;
170
+ /** @deprecated */
171
+ coin?: AbstractUtxoCoin;
172
+ recoveryCoin?: AbstractUtxoCoin;
173
+ signed?: boolean;
174
+ }
175
+ export interface VerifyKeySignaturesOptions {
176
+ userKeychain: {
177
+ pub?: string;
178
+ };
179
+ keychainToVerify: {
180
+ pub?: string;
181
+ };
182
+ keySignature: string;
183
+ }
184
+ export interface VerifyUserPublicKeyOptions {
185
+ userKeychain?: UtxoKeychain;
186
+ disableNetworking: boolean;
187
+ txParams: TransactionParams;
188
+ }
189
+ export interface VerifyTransactionOptions<TNumber extends number | bigint = number> extends BaseVerifyTransactionOptions {
190
+ txPrebuild: TransactionPrebuild<TNumber>;
191
+ txParams: TransactionParams;
192
+ wallet: UtxoWallet;
193
+ }
194
+ export interface SignPsbtRequest {
195
+ psbt: string;
196
+ }
197
+ export interface SignPsbtResponse {
198
+ psbt: string;
199
+ }
200
+ export declare abstract class AbstractUtxoCoin extends BaseCoin implements Musig2Participant<utxolib.bitgo.UtxoPsbt>, Musig2Participant<fixedScriptWallet.BitGoPsbt> {
201
+ abstract name: UtxoCoinName;
202
+ altScriptHash?: number;
203
+ supportAltScriptDestination?: boolean;
204
+ defaultSdkBackend: SdkBackend;
205
+ readonly amountType: 'number' | 'bigint';
206
+ protected constructor(bitgo: BitGoBase, amountType?: 'number' | 'bigint');
207
+ /**
208
+ * @deprecated - will be removed when we drop support for utxolib
209
+ * Use `name` property instead.
210
+ */
211
+ get network(): utxolib.Network;
212
+ getChain(): UtxoCoinName;
213
+ getFamily(): UtxoCoinNameMainnet;
214
+ getFullName(): string;
215
+ /** Indicates whether the coin supports a block target */
216
+ supportsBlockTarget(): boolean;
217
+ sweepWithSendMany(): boolean;
218
+ /** @deprecated */
219
+ static get validAddressTypes(): ScriptType2Of3[];
220
+ /**
221
+ * Returns the factor between the base unit and its smallest subdivison
222
+ * @return {number}
223
+ */
224
+ getBaseFactor(): number;
225
+ /**
226
+ * Check if an address is valid
227
+ * @param address
228
+ * @param param
229
+ */
230
+ isValidAddress(address: string, param?: {
231
+ anyFormat: boolean;
232
+ } | /* legacy parameter */ boolean): boolean;
233
+ /**
234
+ * Return boolean indicating whether input is valid public key for the coin.
235
+ *
236
+ * @param {String} pub the pub to be checked
237
+ * @returns {Boolean} is it valid?
238
+ */
239
+ isValidPub(pub: string): boolean;
240
+ preprocessBuildParams(params: Record<string, any>): Record<string, any>;
241
+ /**
242
+ * Get the latest block height
243
+ * @param reqId
244
+ */
245
+ getLatestBlockHeight(reqId?: RequestTracer): Promise<number>;
246
+ checkRecipient(recipient: {
247
+ address: string;
248
+ amount: number | string;
249
+ }): void;
250
+ /**
251
+ * Run custom coin logic after a transaction prebuild has been received from BitGo
252
+ * @param prebuild
253
+ */
254
+ postProcessPrebuild<TNumber extends number | bigint>(prebuild: TransactionPrebuild<TNumber>): Promise<TransactionPrebuild<TNumber>>;
255
+ /**
256
+ * Determine an address' type based on its witness and redeem script presence
257
+ * @param addressDetails
258
+ */
259
+ static inferAddressType(addressDetails: {
260
+ chain: number;
261
+ }): ScriptType2Of3 | null;
262
+ createTransactionFromHex<TNumber extends number | bigint = number>(hex: string): utxolib.bitgo.UtxoTransaction<TNumber>;
263
+ decodeTransaction<TNumber extends number | bigint>(input: Buffer | string, decodeWith?: SdkBackend): DecodedTransaction<TNumber>;
264
+ decodeTransactionAsPsbt(input: Buffer | string): utxolib.bitgo.UtxoPsbt | fixedScriptWallet.BitGoPsbt;
265
+ decodeTransactionFromPrebuild<TNumber extends number | bigint>(prebuild: {
266
+ txHex?: string;
267
+ txBase64?: string;
268
+ decodeWith?: string;
269
+ }): DecodedTransaction<TNumber>;
270
+ toCanonicalTransactionRecipient(output: {
271
+ valueString: string;
272
+ address?: string;
273
+ }): {
274
+ amount: bigint;
275
+ address: string;
276
+ };
277
+ /**
278
+ * Extract and fill transaction details such as internal/change spend, external spend (explicit vs. implicit), etc.
279
+ * @param params
280
+ * @returns {*}
281
+ */
282
+ parseTransaction<TNumber extends number | bigint = number>(params: ParseTransactionOptions<TNumber>): Promise<ParsedTransaction<TNumber>>;
283
+ /**
284
+ * @deprecated - use function verifyUserPublicKey instead
285
+ */
286
+ protected verifyUserPublicKey(params: VerifyUserPublicKeyOptions): boolean;
287
+ /**
288
+ * @deprecated - use function verifyKeySignature instead
289
+ */
290
+ verifyKeySignature(params: VerifyKeySignaturesOptions): boolean;
291
+ /**
292
+ * Verify that a transaction prebuild complies with the original intention
293
+ *
294
+ * @param params
295
+ * @param params.txParams params object passed to send
296
+ * @param params.txPrebuild prebuild object returned by server
297
+ * @param params.txPrebuild.txHex prebuilt transaction's txHex form
298
+ * @param params.wallet Wallet object to obtain keys to verify against
299
+ * @param params.verification Object specifying some verification parameters
300
+ * @param params.verification.disableNetworking Disallow fetching any data from the internet for verification purposes
301
+ * @param params.verification.keychains Pass keychains manually rather than fetching them by id
302
+ * @param params.verification.addresses Address details to pass in for out-of-band verification
303
+ * @returns {boolean} True if verification passes
304
+ * @throws {TxIntentMismatchError} if transaction validation fails
305
+ * @throws {TxIntentMismatchRecipientError} if transaction recipients don't match user intent
306
+ */
307
+ verifyTransaction<TNumber extends number | bigint = number>(params: VerifyTransactionOptions<TNumber>): Promise<boolean>;
308
+ /**
309
+ * Make sure an address is valid and throw an error if it's not.
310
+ * @param params.address The address string on the network
311
+ * @param params.addressType
312
+ * @param params.keychains Keychain objects with xpubs
313
+ * @param params.coinSpecific Coin-specific details for the address such as a witness script
314
+ * @param params.chain Derivation chain
315
+ * @param params.index Derivation index
316
+ * @throws {InvalidAddressError}
317
+ * @throws {InvalidAddressDerivationPropertyError}
318
+ * @throws {UnexpectedAddressError}
319
+ */
320
+ isWalletAddress(params: VerifyAddressOptions<UtxoCoinSpecific>, wallet?: IWallet): Promise<boolean>;
321
+ /**
322
+ * @param addressType
323
+ * @returns true iff coin supports spending from unspentType
324
+ */
325
+ supportsAddressType(addressType: ScriptType2Of3): boolean;
326
+ /** inherited doc */
327
+ getDefaultMultisigType(): MultisigType;
328
+ /**
329
+ * @param chain
330
+ * @return true iff coin supports spending from chain
331
+ */
332
+ supportsAddressChain(chain: number): boolean;
333
+ keyIdsForSigning(): number[];
334
+ /**
335
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs.
336
+ * @param psbt all MuSig2 inputs should contain user MuSig2 nonce
337
+ * @param walletId
338
+ */
339
+ getMusig2Nonces(psbt: utxolib.bitgo.UtxoPsbt, walletId: string): Promise<utxolib.bitgo.UtxoPsbt>;
340
+ getMusig2Nonces(psbt: fixedScriptWallet.BitGoPsbt, walletId: string): Promise<fixedScriptWallet.BitGoPsbt>;
341
+ getMusig2Nonces<T extends utxolib.bitgo.UtxoPsbt | fixedScriptWallet.BitGoPsbt>(psbt: T, walletId: string): Promise<T>;
342
+ /**
343
+ * @deprecated Use getMusig2Nonces instead
344
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs.
345
+ * @param psbtHex all MuSig2 inputs should contain user MuSig2 nonce
346
+ * @param walletId
347
+ */
348
+ signPsbt(psbtHex: string, walletId: string): Promise<SignPsbtResponse>;
349
+ /**
350
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs from OVC.
351
+ * @param ovcJson JSON object provided by OVC with fields psbtHex and walletId
352
+ */
353
+ signPsbtFromOVC(ovcJson: Record<string, unknown>): Promise<Record<string, unknown>>;
354
+ /**
355
+ * Assemble keychain and half-sign prebuilt transaction
356
+ * @param params - {@see SignTransactionOptions}
357
+ * @returns {Promise<SignedTransaction | HalfSignedUtxoTransaction>}
358
+ */
359
+ signTransaction<TNumber extends number | bigint = number>(params: SignTransactionOptions<TNumber>): Promise<SignedTransaction | HalfSignedUtxoTransaction>;
360
+ /**
361
+ * Sign a transaction with a custom signing function. Example use case is express external signer
362
+ * @param customSigningFunction custom signing function that returns a single signed transaction
363
+ * @param signTransactionParams parameters for custom signing function. Includes txPrebuild and pubs (for legacy tx only).
364
+ *
365
+ * @returns signed transaction as hex string
366
+ */
367
+ signWithCustomSigningFunction<TNumber extends number | bigint>(customSigningFunction: UtxoCustomSigningFunction<TNumber>, signTransactionParams: {
368
+ txPrebuild: TransactionPrebuild<TNumber>;
369
+ pubs?: string[];
370
+ }): Promise<SignedTransaction>;
371
+ /**
372
+ * @param unspent
373
+ * @returns {boolean}
374
+ */
375
+ isBitGoTaintedUnspent<TNumber extends number | bigint>(unspent: Unspent<TNumber>): boolean;
376
+ /**
377
+ * Decompose a raw psbt/transaction into useful information, such as the total amounts,
378
+ * change amounts, and transaction outputs.
379
+ * @param params
380
+ */
381
+ explainTransaction<TNumber extends number | bigint = number>(params: ExplainTransactionOptions<TNumber>): Promise<TransactionExplanation>;
382
+ /**
383
+ * @deprecated - use {@see backupKeyRecovery}
384
+ * Builds a funds recovery transaction without BitGo
385
+ * @param params - {@see backupKeyRecovery}
386
+ */
387
+ recover(params: RecoverParams): ReturnType<typeof backupKeyRecovery>;
388
+ recoverV1(params: V1RecoverParams): ReturnType<typeof v1BackupKeyRecovery>;
389
+ sweepV1(params: V1SweepParams): ReturnType<typeof v1Sweep>;
390
+ /**
391
+ * Recover coin that was sent to wrong chain
392
+ * @param params
393
+ * @param params.txid The txid of the faulty transaction
394
+ * @param params.recoveryAddress address to send recovered funds to
395
+ * @param params.wallet the wallet that received the funds
396
+ * @param params.recoveryCoin the coin type of the wallet that received the funds
397
+ * @param params.signed return a half-signed transaction (default=true)
398
+ * @param params.walletPassphrase the wallet passphrase
399
+ * @param params.xprv the unencrypted xprv (used instead of wallet passphrase)
400
+ * @param params.apiKey for utxo coins other than [BTC,TBTC] this is a Block Chair api key
401
+ * @returns {*}
402
+ */
403
+ recoverFromWrongChain<TNumber extends number | bigint = number>(params: RecoverFromWrongChainOptions): Promise<CrossChainRecoverySigned<TNumber> | CrossChainRecoveryUnsigned<TNumber>>;
404
+ /**
405
+ * Generate bip32 key pair
406
+ *
407
+ * @param seed
408
+ * @returns {Object} object with generated pub and prv
409
+ */
410
+ generateKeyPair(seed: Buffer): {
411
+ pub: string;
412
+ prv: string;
413
+ };
414
+ /**
415
+ * Determines the default transaction format based on wallet properties and network
416
+ * @param wallet - The wallet to check
417
+ * @param requestedFormat - Optional explicitly requested format
418
+ * @returns The transaction format to use, or undefined if no default applies
419
+ */
420
+ getDefaultTxFormat(wallet: Wallet, requestedFormat?: TxFormat): TxFormat | undefined;
421
+ getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions & {
422
+ wallet: Wallet;
423
+ }): Promise<{
424
+ txFormat?: TxFormat;
425
+ changeAddressType?: ScriptType2Of3[] | ScriptType2Of3;
426
+ }>;
427
+ preCreateBitGo(params: PrecreateBitGoOptions): void;
428
+ presignTransaction(params: PresignTransactionOptions): Promise<any>;
429
+ supplementGenerateWallet(walletParams: SupplementGenerateWalletOptions, keychains: KeychainsTriplet): Promise<any>;
430
+ transactionDataAllowed(): boolean;
431
+ valuelessTransferAllowed(): boolean;
432
+ getRecoveryProvider(apiToken?: string): RecoveryProvider;
433
+ /** @inheritDoc */
434
+ auditDecryptedKey({ multiSigType, publicKey, prv, }: {
435
+ multiSigType: MultisigType;
436
+ publicKey: string;
437
+ prv: string;
438
+ }): void;
439
+ }
440
+ //# sourceMappingURL=abstractUtxoCoin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractUtxoCoin.d.ts","sourceRoot":"","sources":["../../../src/abstractUtxoCoin.ts"],"names":[],"mappings":"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"}