@bitgo-beta/abstract-utxo 1.6.1-alpha.42 → 1.6.1-alpha.421

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 (746) hide show
  1. package/README.md +76 -0
  2. package/dist/{src → cjs/src}/abstractUtxoCoin.d.ts +181 -148
  3. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
  4. package/dist/cjs/src/abstractUtxoCoin.js +644 -0
  5. package/dist/cjs/src/address/fixedScript.d.ts +51 -0
  6. package/dist/cjs/src/address/fixedScript.d.ts.map +1 -0
  7. package/dist/cjs/src/address/fixedScript.js +150 -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 +66 -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 +20 -0
  47. package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -0
  48. package/dist/cjs/src/impl/bch/bch.js +74 -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 +10 -0
  53. package/dist/cjs/src/impl/bch/tbch.d.ts.map +1 -0
  54. package/dist/cjs/src/impl/bch/tbch.js +48 -0
  55. package/dist/cjs/src/impl/bcha/bcha.d.ts +8 -0
  56. package/dist/cjs/src/impl/bcha/bcha.d.ts.map +1 -0
  57. package/dist/cjs/src/impl/bcha/bcha.js +48 -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 +10 -0
  62. package/dist/cjs/src/impl/bcha/tbcha.d.ts.map +1 -0
  63. package/dist/cjs/src/impl/bcha/tbcha.js +48 -0
  64. package/dist/cjs/src/impl/bsv/bsv.d.ts +8 -0
  65. package/dist/cjs/src/impl/bsv/bsv.d.ts.map +1 -0
  66. package/dist/cjs/src/impl/bsv/bsv.js +48 -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 +10 -0
  71. package/dist/cjs/src/impl/bsv/tbsv.d.ts.map +1 -0
  72. package/dist/cjs/src/impl/bsv/tbsv.js +48 -0
  73. package/dist/cjs/src/impl/btc/btc.d.ts +13 -0
  74. package/dist/cjs/src/impl/btc/btc.d.ts.map +1 -0
  75. package/dist/cjs/src/impl/btc/btc.js +55 -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 +10 -0
  83. package/dist/cjs/src/impl/btc/tbtc.d.ts.map +1 -0
  84. package/dist/cjs/src/impl/btc/tbtc.js +48 -0
  85. package/dist/cjs/src/impl/btc/tbtc4.d.ts +10 -0
  86. package/dist/cjs/src/impl/btc/tbtc4.d.ts.map +1 -0
  87. package/dist/cjs/src/impl/btc/tbtc4.js +48 -0
  88. package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts +10 -0
  89. package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts.map +1 -0
  90. package/dist/cjs/src/impl/btc/tbtcbgsig.js +48 -0
  91. package/dist/cjs/src/impl/btc/tbtcsig.d.ts +10 -0
  92. package/dist/cjs/src/impl/btc/tbtcsig.d.ts.map +1 -0
  93. package/dist/cjs/src/impl/btc/tbtcsig.js +48 -0
  94. package/dist/cjs/src/impl/btg/btg.d.ts +7 -0
  95. package/dist/cjs/src/impl/btg/btg.d.ts.map +1 -0
  96. package/dist/cjs/src/impl/btg/btg.js +48 -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 +7 -0
  101. package/dist/cjs/src/impl/dash/dash.d.ts.map +1 -0
  102. package/dist/cjs/src/impl/dash/dash.js +48 -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 +10 -0
  107. package/dist/cjs/src/impl/dash/tdash.d.ts.map +1 -0
  108. package/dist/cjs/src/impl/dash/tdash.js +48 -0
  109. package/dist/cjs/src/impl/doge/doge.d.ts +32 -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 +10 -0
  116. package/dist/cjs/src/impl/doge/tdoge.d.ts.map +1 -0
  117. package/dist/cjs/src/impl/doge/tdoge.js +48 -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 +7 -0
  125. package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
  126. package/dist/cjs/src/impl/ltc/ltc.js +52 -0
  127. package/dist/cjs/src/impl/ltc/tltc.d.ts +7 -0
  128. package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
  129. package/dist/cjs/src/impl/ltc/tltc.js +51 -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 +7 -0
  134. package/dist/cjs/src/impl/zec/tzec.d.ts.map +1 -0
  135. package/dist/cjs/src/impl/zec/tzec.js +48 -0
  136. package/dist/cjs/src/impl/zec/zec.d.ts +10 -0
  137. package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -0
  138. package/dist/cjs/src/impl/zec/zec.js +48 -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 +48 -0
  143. package/dist/cjs/src/keychains.d.ts.map +1 -0
  144. package/dist/cjs/src/keychains.js +104 -0
  145. package/dist/cjs/src/names.d.ts +26 -0
  146. package/dist/cjs/src/names.d.ts.map +1 -0
  147. package/dist/cjs/src/names.js +214 -0
  148. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts +8 -0
  149. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  150. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +26 -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 +15 -0
  155. package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts.map +1 -0
  156. package/dist/cjs/src/offlineVault/TransactionExplanation.js +16 -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 +38 -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 -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 +88 -0
  170. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
  171. package/dist/cjs/src/recovery/backupKeyRecovery.js +370 -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 +5 -4
  179. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
  180. package/dist/cjs/src/recovery/crossChainRecovery.js +364 -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/{src → cjs/src}/replayProtection.d.ts +1 -0
  187. package/dist/cjs/src/replayProtection.d.ts.map +1 -0
  188. package/dist/cjs/src/replayProtection.js +58 -0
  189. package/dist/{src → cjs/src}/sign.d.ts +31 -8
  190. package/dist/cjs/src/sign.d.ts.map +1 -0
  191. package/dist/cjs/src/sign.js +205 -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 +125 -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/descriptor/explainPsbt.d.ts +5 -0
  199. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  200. package/dist/cjs/src/transaction/descriptor/explainPsbt.js +80 -0
  201. package/dist/cjs/src/transaction/descriptor/index.d.ts +7 -0
  202. package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -0
  203. package/dist/cjs/src/transaction/descriptor/index.js +14 -0
  204. package/dist/cjs/src/transaction/descriptor/parse.d.ts +16 -0
  205. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
  206. package/dist/cjs/src/transaction/descriptor/parse.js +116 -0
  207. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts +14 -0
  208. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  209. package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +60 -0
  210. package/dist/cjs/src/transaction/descriptor/recipient.d.ts +5 -0
  211. package/dist/cjs/src/transaction/descriptor/recipient.d.ts.map +1 -0
  212. package/dist/cjs/src/transaction/descriptor/recipient.js +3 -0
  213. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts +25 -0
  214. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
  215. package/dist/cjs/src/transaction/descriptor/signPsbt.js +43 -0
  216. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +36 -0
  217. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  218. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +108 -0
  219. package/dist/cjs/src/transaction/explainTransaction.d.ts +18 -0
  220. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
  221. package/dist/cjs/src/transaction/explainTransaction.js +88 -0
  222. package/dist/cjs/src/transaction/fetchInputs.d.ts +26 -0
  223. package/dist/cjs/src/transaction/fetchInputs.d.ts.map +1 -0
  224. package/dist/cjs/src/transaction/fetchInputs.js +109 -0
  225. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +10 -0
  226. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  227. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +43 -0
  228. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +64 -0
  229. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  230. package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +321 -0
  231. package/dist/cjs/src/transaction/fixedScript/index.d.ts +7 -0
  232. package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -0
  233. package/dist/cjs/src/transaction/fixedScript/index.js +15 -0
  234. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts +28 -0
  235. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  236. package/dist/cjs/src/transaction/fixedScript/parseOutput.js +217 -0
  237. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +8 -0
  238. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  239. package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +205 -0
  240. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +18 -0
  241. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  242. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +101 -0
  243. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts +21 -0
  244. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  245. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +198 -0
  246. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts +9 -0
  247. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
  248. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.js +53 -0
  249. package/dist/cjs/src/transaction/index.d.ts +8 -0
  250. package/dist/cjs/src/transaction/index.d.ts.map +1 -0
  251. package/dist/cjs/src/transaction/index.js +50 -0
  252. package/dist/cjs/src/transaction/outputDifference.d.ts +40 -0
  253. package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
  254. package/dist/cjs/src/transaction/outputDifference.js +47 -0
  255. package/dist/cjs/src/transaction/parseTransaction.d.ts +4 -0
  256. package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -0
  257. package/dist/cjs/src/transaction/parseTransaction.js +48 -0
  258. package/dist/cjs/src/transaction/recipient.d.ts +29 -0
  259. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -0
  260. package/dist/cjs/src/transaction/recipient.js +88 -0
  261. package/dist/cjs/src/transaction/signTransaction.d.ts +6 -0
  262. package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -0
  263. package/dist/cjs/src/transaction/signTransaction.js +102 -0
  264. package/dist/cjs/src/transaction/types.d.ts +44 -0
  265. package/dist/cjs/src/transaction/types.d.ts.map +1 -0
  266. package/dist/cjs/src/transaction/types.js +3 -0
  267. package/dist/cjs/src/transaction/verifyTransaction.d.ts +4 -0
  268. package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -0
  269. package/dist/cjs/src/transaction/verifyTransaction.js +50 -0
  270. package/dist/cjs/src/verifyKey.d.ts +29 -0
  271. package/dist/cjs/src/verifyKey.d.ts.map +1 -0
  272. package/dist/cjs/src/verifyKey.js +164 -0
  273. package/dist/cjs/src/wallet.d.ts +15 -0
  274. package/dist/cjs/src/wallet.d.ts.map +1 -0
  275. package/dist/cjs/src/wallet.js +8 -0
  276. package/dist/cjs/test/integration/impl/bch/bch.d.ts +2 -0
  277. package/dist/cjs/test/integration/impl/bch/bch.d.ts.map +1 -0
  278. package/dist/cjs/test/integration/impl/bch/bch.js +74 -0
  279. package/dist/cjs/test/unit/address.d.ts +2 -0
  280. package/dist/cjs/test/unit/address.d.ts.map +1 -0
  281. package/dist/cjs/test/unit/address.js +182 -0
  282. package/dist/cjs/test/unit/bip322.d.ts +2 -0
  283. package/dist/cjs/test/unit/bip322.d.ts.map +1 -0
  284. package/dist/cjs/test/unit/bip322.js +45 -0
  285. package/dist/cjs/test/unit/coins.d.ts +2 -0
  286. package/dist/cjs/test/unit/coins.d.ts.map +1 -0
  287. package/dist/cjs/test/unit/coins.js +97 -0
  288. package/dist/cjs/test/unit/customChangeWallet.d.ts +2 -0
  289. package/dist/cjs/test/unit/customChangeWallet.d.ts.map +1 -0
  290. package/dist/cjs/test/unit/customChangeWallet.js +154 -0
  291. package/dist/cjs/test/unit/customSigner.d.ts +3 -0
  292. package/dist/cjs/test/unit/customSigner.d.ts.map +1 -0
  293. package/dist/cjs/test/unit/customSigner.js +108 -0
  294. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts +2 -0
  295. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts.map +1 -0
  296. package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +18 -0
  297. package/dist/cjs/test/unit/descriptor/builder.d.ts +2 -0
  298. package/dist/cjs/test/unit/descriptor/builder.d.ts.map +1 -0
  299. package/dist/cjs/test/unit/descriptor/builder.js +72 -0
  300. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts +2 -0
  301. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  302. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +20 -0
  303. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts +2 -0
  304. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts.map +1 -0
  305. package/dist/cjs/test/unit/descriptor/descriptorWallet.js +28 -0
  306. package/dist/cjs/test/unit/descriptorAddress.d.ts +3 -0
  307. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -0
  308. package/dist/cjs/test/unit/descriptorAddress.js +102 -0
  309. package/dist/cjs/test/unit/explainTransaction.d.ts +2 -0
  310. package/dist/cjs/test/unit/explainTransaction.d.ts.map +1 -0
  311. package/dist/cjs/test/unit/explainTransaction.js +74 -0
  312. package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts +15 -0
  313. package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts.map +1 -0
  314. package/dist/cjs/test/unit/fixtures/bip322/fixtures.js +51 -0
  315. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts +4 -0
  316. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts.map +1 -0
  317. package/dist/cjs/test/unit/fixtures/psbtHexProof.js +9 -0
  318. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts +2 -0
  319. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts.map +1 -0
  320. package/dist/cjs/test/unit/impl/bch/unit/bch.js +138 -0
  321. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts +2 -0
  322. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts.map +1 -0
  323. package/dist/cjs/test/unit/impl/bcha/unit/index.js +47 -0
  324. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts +2 -0
  325. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts.map +1 -0
  326. package/dist/cjs/test/unit/impl/bsv/unit/index.js +32 -0
  327. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts +2 -0
  328. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts.map +1 -0
  329. package/dist/cjs/test/unit/impl/btc/unit/btc.js +220 -0
  330. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts +4 -0
  331. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts.map +1 -0
  332. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.js +10 -0
  333. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts +2 -0
  334. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts.map +1 -0
  335. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.js +18 -0
  336. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts +2 -0
  337. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts.map +1 -0
  338. package/dist/cjs/test/unit/impl/btg/unit/index.js +29 -0
  339. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts +2 -0
  340. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts.map +1 -0
  341. package/dist/cjs/test/unit/impl/dash/unit/index.js +32 -0
  342. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts +2 -0
  343. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts.map +1 -0
  344. package/dist/cjs/test/unit/impl/doge/unit/index.js +32 -0
  345. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts +2 -0
  346. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts.map +1 -0
  347. package/dist/cjs/test/unit/impl/ltc/unit/index.js +39 -0
  348. package/dist/cjs/test/unit/impl/zec/unit/index.d.ts +2 -0
  349. package/dist/cjs/test/unit/impl/zec/unit/index.d.ts.map +1 -0
  350. package/dist/cjs/test/unit/impl/zec/unit/index.js +29 -0
  351. package/dist/cjs/test/unit/keySignatures.d.ts +2 -0
  352. package/dist/cjs/test/unit/keySignatures.d.ts.map +1 -0
  353. package/dist/cjs/test/unit/keySignatures.js +54 -0
  354. package/dist/cjs/test/unit/keychains.d.ts +2 -0
  355. package/dist/cjs/test/unit/keychains.d.ts.map +1 -0
  356. package/dist/cjs/test/unit/keychains.js +49 -0
  357. package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts +2 -0
  358. package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts.map +1 -0
  359. package/dist/cjs/test/unit/offlineVault/halfSigned.js +124 -0
  360. package/dist/cjs/test/unit/parseTransaction.d.ts +2 -0
  361. package/dist/cjs/test/unit/parseTransaction.d.ts.map +1 -0
  362. package/dist/cjs/test/unit/parseTransaction.js +125 -0
  363. package/dist/cjs/test/unit/prebuildAndSign.d.ts +6 -0
  364. package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -0
  365. package/dist/cjs/test/unit/prebuildAndSign.js +270 -0
  366. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts +2 -0
  367. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts.map +1 -0
  368. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +285 -0
  369. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts +2 -0
  370. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts.map +1 -0
  371. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +283 -0
  372. package/dist/cjs/test/unit/recovery/mock.d.ts +30 -0
  373. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -0
  374. package/dist/cjs/test/unit/recovery/mock.js +138 -0
  375. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts +2 -0
  376. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  377. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +30 -0
  378. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts +6 -0
  379. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
  380. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +17 -0
  381. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts +2 -0
  382. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts.map +1 -0
  383. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.js +76 -0
  384. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts +2 -0
  385. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts.map +1 -0
  386. package/dist/cjs/test/unit/transaction/descriptor/parse.js +135 -0
  387. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts +2 -0
  388. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts.map +1 -0
  389. package/dist/cjs/test/unit/transaction/descriptor/sign.js +32 -0
  390. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts +2 -0
  391. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts.map +1 -0
  392. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +48 -0
  393. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts +2 -0
  394. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts.map +1 -0
  395. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +108 -0
  396. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts +2 -0
  397. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts.map +1 -0
  398. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +216 -0
  399. package/dist/cjs/test/unit/transaction.d.ts +2 -0
  400. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  401. package/dist/cjs/test/unit/transaction.js +501 -0
  402. package/dist/cjs/test/unit/txFormat.d.ts +30 -0
  403. package/dist/cjs/test/unit/txFormat.d.ts.map +1 -0
  404. package/dist/cjs/test/unit/txFormat.js +174 -0
  405. package/dist/cjs/test/unit/util/fixtures.d.ts +14 -0
  406. package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
  407. package/dist/cjs/test/unit/util/fixtures.js +102 -0
  408. package/dist/cjs/test/unit/util/index.d.ts +7 -0
  409. package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
  410. package/dist/cjs/test/unit/util/index.js +23 -0
  411. package/dist/cjs/test/unit/util/keychains.d.ts +26 -0
  412. package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
  413. package/dist/cjs/test/unit/util/keychains.js +72 -0
  414. package/dist/cjs/test/unit/util/nockBitGo.d.ts +3 -0
  415. package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
  416. package/dist/cjs/test/unit/util/nockBitGo.js +11 -0
  417. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts +8 -0
  418. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -0
  419. package/dist/cjs/test/unit/util/nockIndexerAPI.js +56 -0
  420. package/dist/cjs/test/unit/util/transaction.d.ts +24 -0
  421. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
  422. package/dist/cjs/test/unit/util/transaction.js +107 -0
  423. package/dist/cjs/test/unit/util/unspents.d.ts +13 -0
  424. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
  425. package/dist/cjs/test/unit/util/unspents.js +106 -0
  426. package/dist/cjs/test/unit/util/utxoCoins.d.ts +8 -0
  427. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
  428. package/dist/cjs/test/unit/util/utxoCoins.js +95 -0
  429. package/dist/cjs/test/unit/util/wallet.d.ts +4 -0
  430. package/dist/cjs/test/unit/util/wallet.d.ts.map +1 -0
  431. package/dist/cjs/test/unit/util/wallet.js +9 -0
  432. package/dist/cjs/test/unit/verifyTransaction.d.ts +2 -0
  433. package/dist/cjs/test/unit/verifyTransaction.d.ts.map +1 -0
  434. package/dist/cjs/test/unit/verifyTransaction.js +327 -0
  435. package/dist/cjs/test/unit/wallet.d.ts +2 -0
  436. package/dist/cjs/test/unit/wallet.d.ts.map +1 -0
  437. package/dist/cjs/test/unit/wallet.js +248 -0
  438. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  439. package/dist/esm/abstractUtxoCoin.d.ts +425 -0
  440. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
  441. package/dist/esm/abstractUtxoCoin.js +603 -0
  442. package/dist/esm/address/fixedScript.d.ts +51 -0
  443. package/dist/esm/address/fixedScript.d.ts.map +1 -0
  444. package/dist/esm/address/fixedScript.js +109 -0
  445. package/dist/esm/address/index.d.ts +2 -0
  446. package/dist/esm/address/index.d.ts.map +1 -0
  447. package/dist/esm/address/index.js +2 -0
  448. package/dist/esm/config.d.ts +9 -0
  449. package/dist/esm/config.js +11 -0
  450. package/dist/esm/descriptor/NamedDescriptor.d.ts +20 -0
  451. package/dist/esm/descriptor/NamedDescriptor.d.ts.map +1 -0
  452. package/dist/esm/descriptor/NamedDescriptor.js +39 -0
  453. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  454. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  455. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +27 -0
  456. package/dist/esm/descriptor/builder/builder.d.ts +13 -0
  457. package/dist/esm/descriptor/builder/builder.d.ts.map +1 -0
  458. package/dist/esm/descriptor/builder/builder.js +34 -0
  459. package/dist/esm/descriptor/builder/index.d.ts +3 -0
  460. package/dist/esm/descriptor/builder/index.d.ts.map +1 -0
  461. package/dist/esm/descriptor/builder/index.js +3 -0
  462. package/dist/esm/descriptor/builder/parse.d.ts +5 -0
  463. package/dist/esm/descriptor/builder/parse.d.ts.map +1 -0
  464. package/dist/esm/descriptor/builder/parse.js +112 -0
  465. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  466. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  467. package/dist/esm/descriptor/createWallet/createDescriptorWallet.js +37 -0
  468. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +12 -0
  469. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  470. package/dist/esm/descriptor/createWallet/createDescriptors.js +29 -0
  471. package/dist/esm/descriptor/createWallet/index.d.ts +3 -0
  472. package/dist/esm/descriptor/createWallet/index.d.ts.map +1 -0
  473. package/dist/esm/descriptor/createWallet/index.js +3 -0
  474. package/dist/esm/descriptor/descriptorWallet.d.ts +19 -0
  475. package/dist/esm/descriptor/descriptorWallet.d.ts.map +1 -0
  476. package/dist/esm/descriptor/descriptorWallet.js +16 -0
  477. package/dist/esm/descriptor/index.d.ts +8 -0
  478. package/dist/esm/descriptor/index.d.ts.map +1 -0
  479. package/dist/esm/descriptor/index.js +7 -0
  480. package/dist/esm/descriptor/validatePolicy.d.ts +22 -0
  481. package/dist/esm/descriptor/validatePolicy.d.ts.map +1 -0
  482. package/dist/esm/descriptor/validatePolicy.js +80 -0
  483. package/dist/esm/impl/bch/bch.d.ts +20 -0
  484. package/dist/esm/impl/bch/bch.d.ts.map +1 -0
  485. package/dist/esm/impl/bch/bch.js +37 -0
  486. package/dist/esm/impl/bch/index.d.ts +3 -0
  487. package/dist/esm/impl/bch/index.d.ts.map +1 -0
  488. package/dist/esm/impl/bch/index.js +3 -0
  489. package/dist/esm/impl/bch/tbch.d.ts +10 -0
  490. package/dist/esm/impl/bch/tbch.d.ts.map +1 -0
  491. package/dist/esm/impl/bch/tbch.js +11 -0
  492. package/dist/esm/impl/bcha/bcha.d.ts +8 -0
  493. package/dist/esm/impl/bcha/bcha.d.ts.map +1 -0
  494. package/dist/esm/impl/bcha/bcha.js +11 -0
  495. package/dist/esm/impl/bcha/index.d.ts +3 -0
  496. package/dist/esm/impl/bcha/index.d.ts.map +1 -0
  497. package/dist/esm/impl/bcha/index.js +3 -0
  498. package/dist/esm/impl/bcha/tbcha.d.ts +10 -0
  499. package/dist/esm/impl/bcha/tbcha.d.ts.map +1 -0
  500. package/dist/esm/impl/bcha/tbcha.js +11 -0
  501. package/dist/esm/impl/bsv/bsv.d.ts +8 -0
  502. package/dist/esm/impl/bsv/bsv.d.ts.map +1 -0
  503. package/dist/esm/impl/bsv/bsv.js +11 -0
  504. package/dist/esm/impl/bsv/index.d.ts +3 -0
  505. package/dist/esm/impl/bsv/index.d.ts.map +1 -0
  506. package/dist/esm/impl/bsv/index.js +3 -0
  507. package/dist/esm/impl/bsv/tbsv.d.ts +10 -0
  508. package/dist/esm/impl/bsv/tbsv.d.ts.map +1 -0
  509. package/dist/esm/impl/bsv/tbsv.js +11 -0
  510. package/dist/esm/impl/btc/btc.d.ts +13 -0
  511. package/dist/esm/impl/btc/btc.d.ts.map +1 -0
  512. package/dist/esm/impl/btc/btc.js +18 -0
  513. package/dist/esm/impl/btc/index.d.ts +7 -0
  514. package/dist/esm/impl/btc/index.d.ts.map +1 -0
  515. package/dist/esm/impl/btc/index.js +7 -0
  516. package/dist/esm/impl/btc/inscriptionBuilder.d.ts +51 -0
  517. package/dist/esm/impl/btc/inscriptionBuilder.d.ts.map +1 -0
  518. package/dist/esm/impl/btc/inscriptionBuilder.js +143 -0
  519. package/dist/esm/impl/btc/tbtc.d.ts +10 -0
  520. package/dist/esm/impl/btc/tbtc.d.ts.map +1 -0
  521. package/dist/esm/impl/btc/tbtc.js +11 -0
  522. package/dist/esm/impl/btc/tbtc4.d.ts +10 -0
  523. package/dist/esm/impl/btc/tbtc4.d.ts.map +1 -0
  524. package/dist/esm/impl/btc/tbtc4.js +11 -0
  525. package/dist/esm/impl/btc/tbtcbgsig.d.ts +10 -0
  526. package/dist/esm/impl/btc/tbtcbgsig.d.ts.map +1 -0
  527. package/dist/esm/impl/btc/tbtcbgsig.js +11 -0
  528. package/dist/esm/impl/btc/tbtcsig.d.ts +10 -0
  529. package/dist/esm/impl/btc/tbtcsig.d.ts.map +1 -0
  530. package/dist/esm/impl/btc/tbtcsig.js +11 -0
  531. package/dist/esm/impl/btg/btg.d.ts +7 -0
  532. package/dist/esm/impl/btg/btg.d.ts.map +1 -0
  533. package/dist/esm/impl/btg/btg.js +11 -0
  534. package/dist/esm/impl/btg/index.d.ts +2 -0
  535. package/dist/esm/impl/btg/index.d.ts.map +1 -0
  536. package/dist/esm/impl/btg/index.js +2 -0
  537. package/dist/esm/impl/dash/dash.d.ts +7 -0
  538. package/dist/esm/impl/dash/dash.d.ts.map +1 -0
  539. package/dist/esm/impl/dash/dash.js +11 -0
  540. package/dist/esm/impl/dash/index.d.ts +3 -0
  541. package/dist/esm/impl/dash/index.d.ts.map +1 -0
  542. package/dist/esm/impl/dash/index.js +3 -0
  543. package/dist/esm/impl/dash/tdash.d.ts +10 -0
  544. package/dist/esm/impl/dash/tdash.d.ts.map +1 -0
  545. package/dist/esm/impl/dash/tdash.js +11 -0
  546. package/dist/esm/impl/doge/doge.d.ts +32 -0
  547. package/dist/esm/impl/doge/doge.d.ts.map +1 -0
  548. package/dist/esm/impl/doge/doge.js +75 -0
  549. package/dist/esm/impl/doge/index.d.ts +3 -0
  550. package/dist/esm/impl/doge/index.d.ts.map +1 -0
  551. package/dist/esm/impl/doge/index.js +3 -0
  552. package/dist/esm/impl/doge/tdoge.d.ts +10 -0
  553. package/dist/esm/impl/doge/tdoge.d.ts.map +1 -0
  554. package/dist/esm/impl/doge/tdoge.js +11 -0
  555. package/dist/esm/impl/index.d.ts +10 -0
  556. package/dist/esm/impl/index.d.ts.map +1 -0
  557. package/dist/esm/impl/index.js +10 -0
  558. package/dist/esm/impl/ltc/index.d.ts +3 -0
  559. package/dist/esm/impl/ltc/index.d.ts.map +1 -0
  560. package/dist/esm/impl/ltc/index.js +3 -0
  561. package/dist/esm/impl/ltc/ltc.d.ts +7 -0
  562. package/dist/esm/impl/ltc/ltc.d.ts.map +1 -0
  563. package/dist/esm/impl/ltc/ltc.js +15 -0
  564. package/dist/esm/impl/ltc/tltc.d.ts +7 -0
  565. package/dist/esm/impl/ltc/tltc.d.ts.map +1 -0
  566. package/dist/esm/impl/ltc/tltc.js +14 -0
  567. package/dist/esm/impl/zec/index.d.ts +3 -0
  568. package/dist/esm/impl/zec/index.d.ts.map +1 -0
  569. package/dist/esm/impl/zec/index.js +3 -0
  570. package/dist/esm/impl/zec/tzec.d.ts +7 -0
  571. package/dist/esm/impl/zec/tzec.d.ts.map +1 -0
  572. package/dist/esm/impl/zec/tzec.js +11 -0
  573. package/dist/esm/impl/zec/zec.d.ts +10 -0
  574. package/dist/esm/impl/zec/zec.d.ts.map +1 -0
  575. package/dist/esm/impl/zec/zec.js +11 -0
  576. package/dist/esm/index.d.ts +21 -0
  577. package/dist/esm/index.d.ts.map +1 -0
  578. package/dist/esm/index.js +21 -0
  579. package/dist/esm/keychains.d.ts +48 -0
  580. package/dist/esm/keychains.d.ts.map +1 -0
  581. package/dist/esm/keychains.js +61 -0
  582. package/dist/esm/names.d.ts +26 -0
  583. package/dist/esm/names.d.ts.map +1 -0
  584. package/dist/esm/names.js +171 -0
  585. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +8 -0
  586. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  587. package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +23 -0
  588. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts +46 -0
  589. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  590. package/dist/esm/offlineVault/OfflineVaultSignable.js +18 -0
  591. package/dist/esm/offlineVault/TransactionExplanation.d.ts +15 -0
  592. package/dist/esm/offlineVault/TransactionExplanation.d.ts.map +1 -0
  593. package/dist/esm/offlineVault/TransactionExplanation.js +13 -0
  594. package/dist/esm/offlineVault/descriptor/index.d.ts +2 -0
  595. package/dist/esm/offlineVault/descriptor/index.d.ts.map +1 -0
  596. package/dist/esm/offlineVault/descriptor/index.js +2 -0
  597. package/dist/esm/offlineVault/descriptor/transaction.d.ts +38 -0
  598. package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -0
  599. package/dist/esm/offlineVault/descriptor/transaction.js +41 -0
  600. package/dist/esm/offlineVault/index.d.ts +6 -0
  601. package/dist/esm/offlineVault/index.d.ts.map +1 -0
  602. package/dist/esm/offlineVault/index.js +4 -0
  603. package/dist/esm/recovery/RecoveryProvider.d.ts +22 -0
  604. package/dist/{src → esm}/recovery/RecoveryProvider.d.ts.map +1 -1
  605. package/dist/esm/recovery/RecoveryProvider.js +19 -0
  606. package/dist/esm/recovery/backupKeyRecovery.d.ts +88 -0
  607. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -0
  608. package/dist/esm/recovery/backupKeyRecovery.js +329 -0
  609. package/dist/esm/recovery/baseApi.d.ts +24 -0
  610. package/dist/esm/recovery/baseApi.d.ts.map +1 -0
  611. package/dist/esm/recovery/baseApi.js +64 -0
  612. package/dist/esm/recovery/coingeckoApi.d.ts +6 -0
  613. package/dist/esm/recovery/coingeckoApi.d.ts.map +1 -0
  614. package/dist/esm/recovery/coingeckoApi.js +40 -0
  615. package/dist/esm/recovery/crossChainRecovery.d.ts +86 -0
  616. package/dist/{src → esm}/recovery/crossChainRecovery.d.ts.map +1 -1
  617. package/dist/esm/recovery/crossChainRecovery.js +325 -0
  618. package/dist/esm/recovery/index.d.ts +7 -0
  619. package/dist/{src → esm}/recovery/index.d.ts.map +1 -1
  620. package/dist/esm/recovery/index.js +7 -0
  621. package/dist/esm/recovery/mempoolApi.d.ts +7 -0
  622. package/dist/{src → esm}/recovery/mempoolApi.d.ts.map +1 -1
  623. package/dist/esm/recovery/mempoolApi.js +29 -0
  624. package/dist/esm/replayProtection.d.ts +5 -0
  625. package/dist/esm/replayProtection.d.ts.map +1 -0
  626. package/dist/esm/replayProtection.js +20 -0
  627. package/dist/esm/sign.d.ts +54 -0
  628. package/dist/esm/sign.d.ts.map +1 -0
  629. package/dist/esm/sign.js +162 -0
  630. package/dist/esm/transaction/bip322.d.ts +27 -0
  631. package/dist/esm/transaction/bip322.d.ts.map +1 -0
  632. package/dist/esm/transaction/bip322.js +86 -0
  633. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts +1 -0
  634. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  635. package/dist/esm/transaction/common/verifyPayGoAmount.js +1 -0
  636. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +5 -0
  637. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  638. package/dist/esm/transaction/descriptor/explainPsbt.js +44 -0
  639. package/dist/esm/transaction/descriptor/index.d.ts +7 -0
  640. package/dist/esm/transaction/descriptor/index.d.ts.map +1 -0
  641. package/dist/esm/transaction/descriptor/index.js +6 -0
  642. package/dist/esm/transaction/descriptor/parse.d.ts +16 -0
  643. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
  644. package/dist/esm/transaction/descriptor/parse.js +79 -0
  645. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +14 -0
  646. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  647. package/dist/esm/transaction/descriptor/parseToAmountType.js +55 -0
  648. package/dist/esm/transaction/descriptor/recipient.d.ts +5 -0
  649. package/dist/esm/transaction/descriptor/recipient.d.ts.map +1 -0
  650. package/dist/esm/transaction/descriptor/recipient.js +2 -0
  651. package/dist/esm/transaction/descriptor/signPsbt.d.ts +25 -0
  652. package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -0
  653. package/dist/esm/transaction/descriptor/signPsbt.js +38 -0
  654. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +36 -0
  655. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  656. package/dist/esm/transaction/descriptor/verifyTransaction.js +65 -0
  657. package/dist/esm/transaction/explainTransaction.d.ts +18 -0
  658. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
  659. package/dist/esm/transaction/explainTransaction.js +52 -0
  660. package/dist/esm/transaction/fetchInputs.d.ts +26 -0
  661. package/dist/esm/transaction/fetchInputs.d.ts.map +1 -0
  662. package/dist/esm/transaction/fetchInputs.js +72 -0
  663. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +10 -0
  664. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  665. package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +40 -0
  666. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +64 -0
  667. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  668. package/dist/esm/transaction/fixedScript/explainTransaction.js +284 -0
  669. package/dist/esm/transaction/fixedScript/index.d.ts +7 -0
  670. package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
  671. package/dist/esm/transaction/fixedScript/index.js +6 -0
  672. package/dist/esm/transaction/fixedScript/parseOutput.d.ts +28 -0
  673. package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  674. package/dist/esm/transaction/fixedScript/parseOutput.js +210 -0
  675. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +8 -0
  676. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  677. package/dist/esm/transaction/fixedScript/parseTransaction.js +166 -0
  678. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +18 -0
  679. package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  680. package/dist/esm/transaction/fixedScript/signTransaction.js +95 -0
  681. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts +21 -0
  682. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  683. package/dist/esm/transaction/fixedScript/verifyTransaction.js +159 -0
  684. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +9 -0
  685. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
  686. package/dist/esm/transaction/getPayGoVerificationPubkey.js +17 -0
  687. package/dist/esm/transaction/index.d.ts +8 -0
  688. package/dist/esm/transaction/index.d.ts.map +1 -0
  689. package/dist/esm/transaction/index.js +8 -0
  690. package/dist/esm/transaction/outputDifference.d.ts +40 -0
  691. package/dist/esm/transaction/outputDifference.d.ts.map +1 -0
  692. package/dist/esm/transaction/outputDifference.js +42 -0
  693. package/dist/esm/transaction/parseTransaction.d.ts +4 -0
  694. package/dist/esm/transaction/parseTransaction.d.ts.map +1 -0
  695. package/dist/esm/transaction/parseTransaction.js +12 -0
  696. package/dist/esm/transaction/recipient.d.ts +29 -0
  697. package/dist/esm/transaction/recipient.d.ts.map +1 -0
  698. package/dist/esm/transaction/recipient.js +48 -0
  699. package/dist/esm/transaction/signTransaction.d.ts +6 -0
  700. package/dist/esm/transaction/signTransaction.d.ts.map +1 -0
  701. package/dist/esm/transaction/signTransaction.js +63 -0
  702. package/dist/esm/transaction/types.d.ts +44 -0
  703. package/dist/esm/transaction/types.d.ts.map +1 -0
  704. package/dist/esm/transaction/types.js +2 -0
  705. package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
  706. package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -0
  707. package/dist/esm/transaction/verifyTransaction.js +14 -0
  708. package/dist/esm/verifyKey.d.ts +29 -0
  709. package/dist/esm/verifyKey.d.ts.map +1 -0
  710. package/dist/esm/verifyKey.js +123 -0
  711. package/dist/esm/wallet.d.ts +15 -0
  712. package/dist/esm/wallet.d.ts.map +1 -0
  713. package/dist/esm/wallet.js +5 -0
  714. package/package.json +48 -18
  715. package/.eslintignore +0 -5
  716. package/CHANGELOG.md +0 -235
  717. package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
  718. package/dist/src/abstractUtxoCoin.js +0 -931
  719. package/dist/src/config.js +0 -14
  720. package/dist/src/index.d.ts +0 -6
  721. package/dist/src/index.d.ts.map +0 -1
  722. package/dist/src/index.js +0 -18
  723. package/dist/src/parseOutput.d.ts +0 -22
  724. package/dist/src/parseOutput.d.ts.map +0 -1
  725. package/dist/src/parseOutput.js +0 -181
  726. package/dist/src/recovery/RecoveryProvider.js +0 -24
  727. package/dist/src/recovery/backupKeyRecovery.d.ts +0 -62
  728. package/dist/src/recovery/backupKeyRecovery.d.ts.map +0 -1
  729. package/dist/src/recovery/backupKeyRecovery.js +0 -293
  730. package/dist/src/recovery/baseApi.d.ts.map +0 -1
  731. package/dist/src/recovery/baseApi.js +0 -73
  732. package/dist/src/recovery/coingeckoApi.d.ts.map +0 -1
  733. package/dist/src/recovery/coingeckoApi.js +0 -47
  734. package/dist/src/recovery/crossChainRecovery.js +0 -294
  735. package/dist/src/recovery/mempoolApi.js +0 -33
  736. package/dist/src/recovery/smartbitApi.d.ts +0 -11
  737. package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
  738. package/dist/src/recovery/smartbitApi.js +0 -36
  739. package/dist/src/replayProtection.d.ts.map +0 -1
  740. package/dist/src/replayProtection.js +0 -21
  741. package/dist/src/sign.d.ts.map +0 -1
  742. package/dist/src/sign.js +0 -104
  743. package/dist/tsconfig.tsbuildinfo +0 -8041
  744. /package/dist/{src → cjs/src}/config.d.ts +0 -0
  745. /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
  746. /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
@@ -1,43 +1,59 @@
1
- /// <reference types="node" />
2
- /**
3
- * @prettier
4
- */
5
1
  import * as utxolib from '@bitgo-beta/utxo-lib';
6
2
  import { bitgo } from '@bitgo-beta/utxo-lib';
7
- import { backupKeyRecovery, RecoverParams } from './recovery/backupKeyRecovery';
8
- import { CrossChainRecoverySigned, CrossChainRecoveryUnsigned, RecoveryProvider } from './recovery';
9
- import { AddressCoinSpecific, BaseCoin, BitGoBase, ExtraPrebuildParamsOptions, HalfSignedUtxoTransaction, IBaseCoin, IRequestTracer, ITransactionExplanation as BaseTransactionExplanation, Keychain, KeychainsTriplet, ParsedTransaction as BaseParsedTransaction, 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, WalletData } from '@bitgo-beta/sdk-core';
10
- import { CustomChangeOptions } from './parseOutput';
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 { backupKeyRecovery, CrossChainRecoverySigned, CrossChainRecoveryUnsigned, RecoverParams, RecoveryProvider, v1BackupKeyRecovery, V1RecoverParams, v1Sweep, V1SweepParams } from './recovery';
5
+ import type { TransactionExplanation } from './transaction/fixedScript/explainTransaction';
6
+ import { ParsedTransaction } from './transaction/types';
7
+ import { UtxoKeychain } from './keychains';
8
+ import { UtxoWallet } from './wallet';
11
9
  import ScriptType2Of3 = utxolib.bitgo.outputScripts.ScriptType2Of3;
12
- declare type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
13
- export interface VerifyAddressOptions extends BaseVerifyAddressOptions {
14
- chain: number;
10
+ export type TxFormat = 'legacy' | 'psbt' | 'psbt-lite';
11
+ export declare class ErrorDeprecatedTxFormat extends Error {
12
+ constructor(txFormat: TxFormat);
13
+ }
14
+ type UtxoCustomSigningFunction<TNumber extends number | bigint> = {
15
+ (params: {
16
+ coin: IBaseCoin;
17
+ txPrebuild: TransactionPrebuild<TNumber>;
18
+ pubs?: string[];
19
+ /**
20
+ * signingStep flag becomes applicable when both of the following conditions are met:
21
+ * 1) When the external express signer is activated
22
+ * 2) When the PSBT includes at least one taprootKeyPathSpend input.
23
+ *
24
+ * The signing process of a taprootKeyPathSpend input is a 4-step sequence:
25
+ * i) user nonce generation - signerNonce - this is the first call to external express signer signTransaction
26
+ * ii) bitgo nonce generation - cosignerNonce - this is the first and only call to local signTransaction
27
+ * iii) user signature - signerSignature - this is the second call to external express signer signTransaction
28
+ * iv) bitgo signature - not in signTransaction method’s scope
29
+ *
30
+ * In the absence of this flag, the aforementioned first three sequence is executed in a single signTransaction call.
31
+ *
32
+ * NOTE: We make a strong assumption that the external express signer and its caller uses sticky sessions,
33
+ * since PSBTs are cached in step 1 to be used in step 3 for MuSig2 user secure nonce access.
34
+ */
35
+ signingStep?: 'signerNonce' | 'signerSignature' | 'cosignerNonce';
36
+ }): Promise<SignedTransaction>;
37
+ };
38
+ type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
39
+ export type DecodedTransaction<TNumber extends number | bigint> = utxolib.bitgo.UtxoTransaction<TNumber> | utxolib.bitgo.UtxoPsbt;
40
+ export type RootWalletKeys = bitgo.RootWalletKeys;
41
+ export type UtxoCoinSpecific = AddressCoinSpecific | DescriptorAddressCoinSpecific;
42
+ export interface VerifyAddressOptions<TCoinSpecific extends UtxoCoinSpecific> extends BaseVerifyAddressOptions {
43
+ chain?: number;
15
44
  index: number;
45
+ coinSpecific?: TCoinSpecific;
16
46
  }
17
- export interface Output {
47
+ export type Bip322Message = {
18
48
  address: string;
19
- amount: string | number;
20
- external?: boolean;
21
- needsCustomChangeKeySignatureVerification?: boolean;
22
- }
23
- export interface TransactionExplanation extends BaseTransactionExplanation<string, string> {
24
- locktime: number;
25
- outputs: Output[];
26
- changeOutputs: Output[];
27
- /**
28
- * Number of input signatures per input.
29
- */
30
- inputSignatures: number[];
31
- /**
32
- * Highest input signature count for the transaction
33
- */
34
- signatures: number;
35
- }
49
+ message: string;
50
+ };
36
51
  export interface TransactionInfo<TNumber extends number | bigint = number> {
37
52
  /** Maps txid to txhex. Required for offline signing. */
38
53
  txHexes?: Record<string, string>;
39
54
  changeAddresses?: string[];
40
- unspents: Unspent<TNumber>[];
55
+ /** psbt does not require unspents. */
56
+ unspents?: Unspent<TNumber>[];
41
57
  }
42
58
  export interface ExplainTransactionOptions<TNumber extends number | bigint = number> {
43
59
  txHex: string;
@@ -45,83 +61,72 @@ export interface ExplainTransactionOptions<TNumber extends number | bigint = num
45
61
  feeInfo?: string;
46
62
  pubs?: Triple<string>;
47
63
  }
48
- export declare type UtxoNetwork = utxolib.Network;
64
+ export interface DecoratedExplainTransactionOptions<TNumber extends number | bigint = number> extends ExplainTransactionOptions<TNumber> {
65
+ changeInfo?: {
66
+ address: string;
67
+ chain: number;
68
+ index: number;
69
+ }[];
70
+ }
71
+ export type UtxoNetwork = utxolib.Network;
49
72
  export interface TransactionPrebuild<TNumber extends number | bigint = number> extends BaseTransactionPrebuild {
50
73
  txInfo?: TransactionInfo<TNumber>;
51
74
  blockHeight?: number;
52
75
  }
53
76
  export interface TransactionParams extends BaseTransactionParams {
54
77
  walletPassphrase?: string;
78
+ allowExternalChangeAddress?: boolean;
55
79
  changeAddress?: string;
56
- }
57
- export interface AbstractUtxoCoinWalletData extends WalletData {
58
- customChangeKeySignatures: {
59
- user: string;
60
- backup: string;
61
- bitgo: string;
62
- };
63
- }
64
- export declare class AbstractUtxoCoinWallet extends Wallet {
65
- _wallet: AbstractUtxoCoinWalletData;
66
- constructor(bitgo: BitGoBase, baseCoin: IBaseCoin, walletData: any);
80
+ rbfTxIds?: string[];
67
81
  }
68
82
  export interface ParseTransactionOptions<TNumber extends number | bigint = number> extends BaseParseTransactionOptions {
69
83
  txParams: TransactionParams;
70
84
  txPrebuild: TransactionPrebuild<TNumber>;
71
- wallet: AbstractUtxoCoinWallet;
85
+ wallet: UtxoWallet;
72
86
  verification?: VerificationOptions;
73
87
  reqId?: IRequestTracer;
74
88
  }
75
- export interface ParsedTransaction<TNumber extends number | bigint = number> extends BaseParsedTransaction {
76
- keychains: {
77
- user?: Keychain;
78
- backup?: Keychain;
79
- bitgo?: Keychain;
80
- };
81
- keySignatures: {
82
- backupPub?: string;
83
- bitgoPub?: string;
84
- };
85
- outputs: Output[];
86
- missingOutputs: Output[];
87
- explicitExternalOutputs: Output[];
88
- implicitExternalOutputs: Output[];
89
- changeOutputs: Output[];
90
- explicitExternalSpendAmount: TNumber;
91
- implicitExternalSpendAmount: TNumber;
92
- needsCustomChangeKeySignatureVerification: boolean;
93
- customChange?: CustomChangeOptions;
94
- }
95
89
  export interface GenerateAddressOptions {
96
90
  addressType?: ScriptType2Of3;
97
- keychains: {
98
- pub: string;
99
- aspKeyId?: string;
100
- }[];
101
91
  threshold?: number;
102
92
  chain?: number;
103
93
  index?: number;
104
94
  segwit?: boolean;
105
95
  bech32?: boolean;
106
96
  }
97
+ export interface GenerateFixedScriptAddressOptions extends GenerateAddressOptions {
98
+ format?: CreateAddressFormat;
99
+ keychains: {
100
+ pub: string;
101
+ aspKeyId?: string;
102
+ }[];
103
+ }
107
104
  export interface AddressDetails {
108
105
  address: string;
109
106
  chain: number;
110
107
  index: number;
111
108
  coin: string;
112
- coinSpecific: AddressCoinSpecific;
109
+ coinSpecific: AddressCoinSpecific | DescriptorAddressCoinSpecific;
113
110
  addressType?: string;
114
111
  }
115
- export interface SignTransactionOptions<TNumber extends number | bigint = number> extends BaseSignTransactionOptions {
112
+ export interface DescriptorAddressCoinSpecific extends AddressCoinSpecific {
113
+ descriptorName: string;
114
+ descriptorChecksum: string;
115
+ }
116
+ type UtxoBaseSignTransactionOptions<TNumber extends number | bigint = number> = BaseSignTransactionOptions & {
116
117
  /** Transaction prebuild from bitgo server */
117
118
  txPrebuild: {
119
+ /**
120
+ * walletId is required in following 2 scenarios.
121
+ * 1. External signer express mode is used.
122
+ * 2. bitgo MuSig2 nonce is requested
123
+ */
124
+ walletId?: string;
118
125
  txHex: string;
119
- txInfo: TransactionInfo<TNumber>;
126
+ txInfo?: TransactionInfo<TNumber>;
120
127
  };
121
- /** xprv of user key or backup key */
122
- prv: string;
123
- /** xpubs triple for wallet (user, backup, bitgo) */
124
- pubs: Triple<string>;
128
+ /** xpubs triple for wallet (user, backup, bitgo). Required only when txPrebuild.txHex is not a PSBT */
129
+ pubs?: Triple<string>;
125
130
  /** xpub for cosigner (defaults to bitgo) */
126
131
  cosignerPub?: string;
127
132
  /**
@@ -129,7 +134,19 @@ export interface SignTransactionOptions<TNumber extends number | bigint = number
129
134
  * When false, creates half-signed transaction with placeholder signatures.
130
135
  */
131
136
  isLastSignature?: boolean;
132
- }
137
+ /**
138
+ * If true, allows signing a non-segwit input with a witnessUtxo instead requiring a previous
139
+ * transaction (nonWitnessUtxo)
140
+ */
141
+ allowNonSegwitSigningWithoutPrevTx?: boolean;
142
+ wallet?: UtxoWallet;
143
+ };
144
+ export type SignTransactionOptions<TNumber extends number | bigint = number> = UtxoBaseSignTransactionOptions<TNumber> & ({
145
+ prv: string;
146
+ signingStep?: 'signerNonce' | 'signerSignature';
147
+ } | {
148
+ signingStep: 'cosignerNonce';
149
+ });
133
150
  export interface MultiSigAddress {
134
151
  outputScript: Buffer;
135
152
  redeemScript?: Buffer;
@@ -149,18 +166,29 @@ export interface RecoverFromWrongChainOptions {
149
166
  signed?: boolean;
150
167
  }
151
168
  export interface VerifyKeySignaturesOptions {
152
- userKeychain?: Keychain;
153
- keychainToVerify?: Keychain;
154
- keySignature?: string;
169
+ userKeychain: {
170
+ pub?: string;
171
+ };
172
+ keychainToVerify: {
173
+ pub?: string;
174
+ };
175
+ keySignature: string;
155
176
  }
156
177
  export interface VerifyUserPublicKeyOptions {
157
- userKeychain?: Keychain;
178
+ userKeychain?: UtxoKeychain;
158
179
  disableNetworking: boolean;
159
180
  txParams: TransactionParams;
160
181
  }
161
182
  export interface VerifyTransactionOptions<TNumber extends number | bigint = number> extends BaseVerifyTransactionOptions {
162
183
  txPrebuild: TransactionPrebuild<TNumber>;
163
- wallet: AbstractUtxoCoinWallet;
184
+ txParams: TransactionParams;
185
+ wallet: UtxoWallet;
186
+ }
187
+ export interface SignPsbtRequest {
188
+ psbt: string;
189
+ }
190
+ export interface SignPsbtResponse {
191
+ psbt: string;
164
192
  }
165
193
  export declare abstract class AbstractUtxoCoin extends BaseCoin {
166
194
  altScriptHash?: number;
@@ -169,6 +197,11 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
169
197
  private readonly _network;
170
198
  protected constructor(bitgo: BitGoBase, network: utxolib.Network, amountType?: 'number' | 'bigint');
171
199
  get network(): utxolib.Network;
200
+ getChain(): string;
201
+ getFamily(): "btc" | "bch" | "bcha" | "bsv" | "btg" | "dash" | "doge" | "ltc" | "zec";
202
+ getFullName(): string;
203
+ /** Indicates whether the coin supports a block target */
204
+ supportsBlockTarget(): boolean;
172
205
  sweepWithSendMany(): boolean;
173
206
  /** @deprecated */
174
207
  static get validAddressTypes(): ScriptType2Of3[];
@@ -177,10 +210,6 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
177
210
  * @return {number}
178
211
  */
179
212
  getBaseFactor(): number;
180
- /**
181
- * @deprecated
182
- */
183
- getCoinLibrary(): typeof utxolib;
184
213
  /**
185
214
  * Check if an address is valid
186
215
  * @param address
@@ -196,23 +225,21 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
196
225
  * @returns {Boolean} is it valid?
197
226
  */
198
227
  isValidPub(pub: string): boolean;
228
+ preprocessBuildParams(params: Record<string, any>): Record<string, any>;
199
229
  /**
200
230
  * Get the latest block height
201
231
  * @param reqId
202
232
  */
203
233
  getLatestBlockHeight(reqId?: RequestTracer): Promise<number>;
234
+ checkRecipient(recipient: {
235
+ address: string;
236
+ amount: number | string;
237
+ }): void;
204
238
  /**
205
239
  * Run custom coin logic after a transaction prebuild has been received from BitGo
206
240
  * @param prebuild
207
241
  */
208
242
  postProcessPrebuild<TNumber extends number | bigint>(prebuild: TransactionPrebuild<TNumber>): Promise<TransactionPrebuild<TNumber>>;
209
- /**
210
- * Find outputs that are within expected outputs but not within actual outputs, including duplicates
211
- * @param expectedOutputs
212
- * @param actualOutputs
213
- * @returns {Array}
214
- */
215
- protected static findMissingOutputs(expectedOutputs: Output[], actualOutputs: Output[]): Output[];
216
243
  /**
217
244
  * Determine an address' type based on its witness and redeem script presence
218
245
  * @param addressDetails
@@ -221,6 +248,18 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
221
248
  chain: number;
222
249
  }): ScriptType2Of3 | null;
223
250
  createTransactionFromHex<TNumber extends number | bigint = number>(hex: string): utxolib.bitgo.UtxoTransaction<TNumber>;
251
+ decodeTransaction<TNumber extends number | bigint>(input: Buffer | string): DecodedTransaction<TNumber>;
252
+ decodeTransactionFromPrebuild<TNumber extends number | bigint>(prebuild: {
253
+ txHex?: string;
254
+ txBase64?: string;
255
+ }): DecodedTransaction<TNumber>;
256
+ toCanonicalTransactionRecipient(output: {
257
+ valueString: string;
258
+ address?: string;
259
+ }): {
260
+ amount: bigint;
261
+ address?: string;
262
+ };
224
263
  /**
225
264
  * Extract and fill transaction details such as internal/change spend, external spend (explicit vs. implicit), etc.
226
265
  * @param params
@@ -228,34 +267,13 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
228
267
  */
229
268
  parseTransaction<TNumber extends number | bigint = number>(params: ParseTransactionOptions<TNumber>): Promise<ParsedTransaction<TNumber>>;
230
269
  /**
231
- * Decrypt the wallet's user private key and verify that the claimed public key matches
232
- * @param {VerifyUserPublicKeyOptions} params
233
- * @return {boolean}
234
- * @protected
270
+ * @deprecated - use function verifyUserPublicKey instead
235
271
  */
236
272
  protected verifyUserPublicKey(params: VerifyUserPublicKeyOptions): boolean;
237
273
  /**
238
- * Verify signatures produced by the user key over the backup and bitgo keys.
239
- *
240
- * If set, these signatures ensure that the wallet keys cannot be changed after the wallet has been created.
241
- * @param {VerifyKeySignaturesOptions} params
242
- * @return {{backup: boolean, bitgo: boolean}}
243
- */
244
- protected verifyKeySignature(params: VerifyKeySignaturesOptions): boolean;
245
- /**
246
- * Verify signatures against the user private key over the change wallet extended keys
247
- * @param {ParsedTransaction} tx
248
- * @param {Keychain} userKeychain
249
- * @return {boolean}
250
- * @protected
251
- */
252
- protected verifyCustomChangeKeySignatures<TNumber extends number | bigint>(tx: ParsedTransaction<TNumber>, userKeychain: Keychain): boolean;
253
- /**
254
- * Get the maximum percentage limit for pay-as-you-go outputs
255
- *
256
- * @protected
274
+ * @deprecated - use function verifyKeySignature instead
257
275
  */
258
- protected getPayGoLimit(allowPaygoOutput?: boolean): number;
276
+ verifyKeySignature(params: VerifyKeySignaturesOptions): boolean;
259
277
  /**
260
278
  * Verify that a transaction prebuild complies with the original intention
261
279
  *
@@ -268,7 +286,9 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
268
286
  * @param params.verification.disableNetworking Disallow fetching any data from the internet for verification purposes
269
287
  * @param params.verification.keychains Pass keychains manually rather than fetching them by id
270
288
  * @param params.verification.addresses Address details to pass in for out-of-band verification
271
- * @returns {boolean}
289
+ * @returns {boolean} True if verification passes
290
+ * @throws {TxIntentMismatchError} if transaction validation fails
291
+ * @throws {TxIntentMismatchRecipientError} if transaction recipients don't match user intent
272
292
  */
273
293
  verifyTransaction<TNumber extends number | bigint = number>(params: VerifyTransactionOptions<TNumber>): Promise<boolean>;
274
294
  /**
@@ -283,17 +303,14 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
283
303
  * @throws {InvalidAddressDerivationPropertyError}
284
304
  * @throws {UnexpectedAddressError}
285
305
  */
286
- isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
287
- /**
288
- * Indicates whether coin supports a block target
289
- * @returns {boolean}
290
- */
291
- supportsBlockTarget(): boolean;
306
+ isWalletAddress(params: VerifyAddressOptions<UtxoCoinSpecific>, wallet?: IWallet): Promise<boolean>;
292
307
  /**
293
308
  * @param addressType
294
309
  * @returns true iff coin supports spending from unspentType
295
310
  */
296
311
  supportsAddressType(addressType: ScriptType2Of3): boolean;
312
+ /** inherited doc */
313
+ getDefaultMultisigType(): MultisigType;
297
314
  /**
298
315
  * @param chain
299
316
  * @return true iff coin supports spending from chain
@@ -301,44 +318,40 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
301
318
  supportsAddressChain(chain: number): boolean;
302
319
  keyIdsForSigning(): number[];
303
320
  /**
304
- * TODO(BG-11487): Remove addressType, segwit, and bech32 params in SDKv6
305
- * Generate an address for a wallet based on a set of configurations
306
- * @param params.addressType {string} Deprecated
307
- * @param params.keychains {[object]} Array of objects with xpubs
308
- * @param params.threshold {number} Minimum number of signatures
309
- * @param params.chain {number} Derivation chain (see https://github.com/BitGo/unspents/blob/master/src/codes.ts for
310
- * the corresponding address type of a given chain code)
311
- * @param params.index {number} Derivation index
312
- * @param params.segwit {boolean} Deprecated
313
- * @param params.bech32 {boolean} Deprecated
314
- * @returns {{chain: number, index: number, coin: number, coinSpecific: {outputScript, redeemScript}}}
321
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs.
322
+ * @param psbtHex all MuSig2 inputs should contain user MuSig2 nonce
323
+ * @param walletId
324
+ */
325
+ signPsbt(psbtHex: string, walletId: string): Promise<SignPsbtResponse>;
326
+ /**
327
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs from OVC.
328
+ * @param ovcJson JSON object provided by OVC with fields psbtHex and walletId
315
329
  */
316
- generateAddress(params: GenerateAddressOptions): AddressDetails;
330
+ signPsbtFromOVC(ovcJson: Record<string, unknown>): Promise<Record<string, unknown>>;
317
331
  /**
318
332
  * Assemble keychain and half-sign prebuilt transaction
319
333
  * @param params - {@see SignTransactionOptions}
320
334
  * @returns {Promise<SignedTransaction | HalfSignedUtxoTransaction>}
321
335
  */
322
336
  signTransaction<TNumber extends number | bigint = number>(params: SignTransactionOptions<TNumber>): Promise<SignedTransaction | HalfSignedUtxoTransaction>;
337
+ /**
338
+ * Sign a transaction with a custom signing function. Example use case is express external signer
339
+ * @param customSigningFunction custom signing function that returns a single signed transaction
340
+ * @param signTransactionParams parameters for custom signing function. Includes txPrebuild and pubs (for legacy tx only).
341
+ *
342
+ * @returns signed transaction as hex string
343
+ */
344
+ signWithCustomSigningFunction<TNumber extends number | bigint>(customSigningFunction: UtxoCustomSigningFunction<TNumber>, signTransactionParams: {
345
+ txPrebuild: TransactionPrebuild<TNumber>;
346
+ pubs?: string[];
347
+ }): Promise<SignedTransaction>;
323
348
  /**
324
349
  * @param unspent
325
350
  * @returns {boolean}
326
351
  */
327
352
  isBitGoTaintedUnspent<TNumber extends number | bigint>(unspent: Unspent<TNumber>): boolean;
328
353
  /**
329
- * @deprecated - use utxolib.bitgo.getDefaultSigHash(network) instead
330
- * @returns {number}
331
- */
332
- get defaultSigHashType(): number;
333
- /**
334
- * @deprecated - use utxolib.bitcoin.verifySignature() instead
335
- */
336
- verifySignature(transaction: any, inputIndex: number, amount: number, verificationSettings?: {
337
- signatureIndex?: number;
338
- publicKey?: string;
339
- }): boolean;
340
- /**
341
- * Decompose a raw transaction into useful information, such as the total amounts,
354
+ * Decompose a raw psbt/transaction into useful information, such as the total amounts,
342
355
  * change amounts, and transaction outputs.
343
356
  * @param params
344
357
  */
@@ -356,6 +369,8 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
356
369
  * @param params - {@see backupKeyRecovery}
357
370
  */
358
371
  recover(params: RecoverParams): ReturnType<typeof backupKeyRecovery>;
372
+ recoverV1(params: V1RecoverParams): ReturnType<typeof v1BackupKeyRecovery>;
373
+ sweepV1(params: V1SweepParams): ReturnType<typeof v1Sweep>;
359
374
  /**
360
375
  * Recover coin that was sent to wrong chain
361
376
  * @param params
@@ -380,13 +395,31 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
380
395
  pub: string;
381
396
  prv: string;
382
397
  };
383
- getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions): Promise<any>;
398
+ /**
399
+ * Determines the default transaction format based on wallet properties and network
400
+ * @param wallet - The wallet to check
401
+ * @param requestedFormat - Optional explicitly requested format
402
+ * @returns The transaction format to use, or undefined if no default applies
403
+ */
404
+ getDefaultTxFormat(wallet: Wallet, requestedFormat?: TxFormat): TxFormat | undefined;
405
+ getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions & {
406
+ wallet: Wallet;
407
+ }): Promise<{
408
+ txFormat?: TxFormat;
409
+ changeAddressType?: ScriptType2Of3[] | ScriptType2Of3;
410
+ }>;
384
411
  preCreateBitGo(params: PrecreateBitGoOptions): void;
385
412
  presignTransaction(params: PresignTransactionOptions): Promise<any>;
386
413
  supplementGenerateWallet(walletParams: SupplementGenerateWalletOptions, keychains: KeychainsTriplet): Promise<any>;
387
414
  transactionDataAllowed(): boolean;
388
415
  valuelessTransferAllowed(): boolean;
389
416
  getRecoveryProvider(apiToken?: string): RecoveryProvider;
417
+ /** @inheritDoc */
418
+ auditDecryptedKey({ multiSigType, publicKey, prv }: {
419
+ multiSigType: any;
420
+ publicKey: any;
421
+ prv: any;
422
+ }): void;
390
423
  }
391
424
  export {};
392
425
  //# 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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"}