@bitgo-beta/abstract-utxo 1.1.1-beta.196 → 1.1.1-beta.1960

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