@bitgo-beta/abstract-utxo 1.1.1-beta.222 → 1.1.1-beta.2221

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 (850) hide show
  1. package/README.md +76 -0
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts +458 -0
  3. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
  4. package/dist/cjs/src/abstractUtxoCoin.js +652 -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 +108 -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/deriveKeyWithSeed.d.ts +12 -0
  14. package/dist/cjs/src/deriveKeyWithSeed.d.ts.map +1 -0
  15. package/dist/cjs/src/deriveKeyWithSeed.js +17 -0
  16. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts +19 -0
  17. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -0
  18. package/dist/cjs/src/descriptor/NamedDescriptor.js +77 -0
  19. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  20. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  21. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +33 -0
  22. package/dist/cjs/src/descriptor/builder/builder.d.ts +17 -0
  23. package/dist/cjs/src/descriptor/builder/builder.d.ts.map +1 -0
  24. package/dist/cjs/src/descriptor/builder/builder.js +54 -0
  25. package/dist/cjs/src/descriptor/builder/index.d.ts +3 -0
  26. package/dist/cjs/src/descriptor/builder/index.d.ts.map +1 -0
  27. package/dist/cjs/src/descriptor/builder/index.js +8 -0
  28. package/dist/cjs/src/descriptor/builder/parse.d.ts +5 -0
  29. package/dist/cjs/src/descriptor/builder/parse.d.ts.map +1 -0
  30. package/dist/cjs/src/descriptor/builder/parse.js +148 -0
  31. package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  32. package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  33. package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.js +41 -0
  34. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts +12 -0
  35. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  36. package/dist/cjs/src/descriptor/createWallet/createDescriptors.js +33 -0
  37. package/dist/cjs/src/descriptor/createWallet/index.d.ts +3 -0
  38. package/dist/cjs/src/descriptor/createWallet/index.d.ts.map +1 -0
  39. package/dist/cjs/src/descriptor/createWallet/index.js +19 -0
  40. package/dist/cjs/src/descriptor/descriptorWallet.d.ts +19 -0
  41. package/dist/cjs/src/descriptor/descriptorWallet.d.ts.map +1 -0
  42. package/dist/cjs/src/descriptor/descriptorWallet.js +54 -0
  43. package/dist/cjs/src/descriptor/index.d.ts +9 -0
  44. package/dist/cjs/src/descriptor/index.d.ts.map +1 -0
  45. package/dist/cjs/src/descriptor/index.js +53 -0
  46. package/dist/cjs/src/descriptor/validatePolicy.d.ts +22 -0
  47. package/dist/cjs/src/descriptor/validatePolicy.d.ts.map +1 -0
  48. package/dist/cjs/src/descriptor/validatePolicy.js +94 -0
  49. package/dist/cjs/src/impl/bch/bch.d.ts +22 -0
  50. package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -0
  51. package/dist/cjs/src/impl/bch/bch.js +43 -0
  52. package/dist/cjs/src/impl/bch/index.d.ts +3 -0
  53. package/dist/cjs/src/impl/bch/index.d.ts.map +1 -0
  54. package/dist/cjs/src/impl/bch/index.js +19 -0
  55. package/dist/cjs/src/impl/bch/tbch.d.ts +12 -0
  56. package/dist/cjs/src/impl/bch/tbch.d.ts.map +1 -0
  57. package/dist/cjs/src/impl/bch/tbch.js +15 -0
  58. package/dist/cjs/src/impl/bcha/bcha.d.ts +9 -0
  59. package/dist/cjs/src/impl/bcha/bcha.d.ts.map +1 -0
  60. package/dist/cjs/src/impl/bcha/bcha.js +15 -0
  61. package/dist/cjs/src/impl/bcha/index.d.ts +3 -0
  62. package/dist/cjs/src/impl/bcha/index.d.ts.map +1 -0
  63. package/dist/cjs/src/impl/bcha/index.js +19 -0
  64. package/dist/cjs/src/impl/bcha/tbcha.d.ts +12 -0
  65. package/dist/cjs/src/impl/bcha/tbcha.d.ts.map +1 -0
  66. package/dist/cjs/src/impl/bcha/tbcha.js +15 -0
  67. package/dist/cjs/src/impl/bsv/bsv.d.ts +9 -0
  68. package/dist/cjs/src/impl/bsv/bsv.d.ts.map +1 -0
  69. package/dist/cjs/src/impl/bsv/bsv.js +15 -0
  70. package/dist/cjs/src/impl/bsv/index.d.ts +3 -0
  71. package/dist/cjs/src/impl/bsv/index.d.ts.map +1 -0
  72. package/dist/cjs/src/impl/bsv/index.js +19 -0
  73. package/dist/cjs/src/impl/bsv/tbsv.d.ts +12 -0
  74. package/dist/cjs/src/impl/bsv/tbsv.d.ts.map +1 -0
  75. package/dist/cjs/src/impl/bsv/tbsv.js +15 -0
  76. package/dist/cjs/src/impl/btc/btc.d.ts +15 -0
  77. package/dist/cjs/src/impl/btc/btc.d.ts.map +1 -0
  78. package/dist/cjs/src/impl/btc/btc.js +22 -0
  79. package/dist/cjs/src/impl/btc/index.d.ts +7 -0
  80. package/dist/cjs/src/impl/btc/index.d.ts.map +1 -0
  81. package/dist/cjs/src/impl/btc/index.js +23 -0
  82. package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts +61 -0
  83. package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -0
  84. package/dist/cjs/src/impl/btc/inscriptionBuilder.js +170 -0
  85. package/dist/cjs/src/impl/btc/tbtc.d.ts +12 -0
  86. package/dist/cjs/src/impl/btc/tbtc.d.ts.map +1 -0
  87. package/dist/cjs/src/impl/btc/tbtc.js +15 -0
  88. package/dist/cjs/src/impl/btc/tbtc4.d.ts +12 -0
  89. package/dist/cjs/src/impl/btc/tbtc4.d.ts.map +1 -0
  90. package/dist/cjs/src/impl/btc/tbtc4.js +15 -0
  91. package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts +12 -0
  92. package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts.map +1 -0
  93. package/dist/cjs/src/impl/btc/tbtcbgsig.js +15 -0
  94. package/dist/cjs/src/impl/btc/tbtcsig.d.ts +12 -0
  95. package/dist/cjs/src/impl/btc/tbtcsig.d.ts.map +1 -0
  96. package/dist/cjs/src/impl/btc/tbtcsig.js +15 -0
  97. package/dist/cjs/src/impl/btg/btg.d.ts +9 -0
  98. package/dist/cjs/src/impl/btg/btg.d.ts.map +1 -0
  99. package/dist/cjs/src/impl/btg/btg.js +15 -0
  100. package/dist/cjs/src/impl/btg/index.d.ts +2 -0
  101. package/dist/cjs/src/impl/btg/index.d.ts.map +1 -0
  102. package/dist/cjs/src/impl/btg/index.js +18 -0
  103. package/dist/cjs/src/impl/dash/dash.d.ts +9 -0
  104. package/dist/cjs/src/impl/dash/dash.d.ts.map +1 -0
  105. package/dist/cjs/src/impl/dash/dash.js +15 -0
  106. package/dist/cjs/src/impl/dash/index.d.ts +3 -0
  107. package/dist/cjs/src/impl/dash/index.d.ts.map +1 -0
  108. package/dist/cjs/src/impl/dash/index.js +19 -0
  109. package/dist/cjs/src/impl/dash/tdash.d.ts +12 -0
  110. package/dist/cjs/src/impl/dash/tdash.d.ts.map +1 -0
  111. package/dist/cjs/src/impl/dash/tdash.js +15 -0
  112. package/dist/cjs/src/impl/doge/doge.d.ts +33 -0
  113. package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -0
  114. package/dist/cjs/src/impl/doge/doge.js +76 -0
  115. package/dist/cjs/src/impl/doge/index.d.ts +3 -0
  116. package/dist/cjs/src/impl/doge/index.d.ts.map +1 -0
  117. package/dist/cjs/src/impl/doge/index.js +19 -0
  118. package/dist/cjs/src/impl/doge/tdoge.d.ts +12 -0
  119. package/dist/cjs/src/impl/doge/tdoge.d.ts.map +1 -0
  120. package/dist/cjs/src/impl/doge/tdoge.js +15 -0
  121. package/dist/cjs/src/impl/index.d.ts +11 -0
  122. package/dist/cjs/src/impl/index.d.ts.map +1 -0
  123. package/dist/cjs/src/impl/index.js +47 -0
  124. package/dist/cjs/src/impl/ltc/index.d.ts +3 -0
  125. package/dist/cjs/src/impl/ltc/index.d.ts.map +1 -0
  126. package/dist/cjs/src/impl/ltc/index.js +19 -0
  127. package/dist/cjs/src/impl/ltc/ltc.d.ts +8 -0
  128. package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
  129. package/dist/cjs/src/impl/ltc/ltc.js +15 -0
  130. package/dist/cjs/src/impl/ltc/tltc.d.ts +8 -0
  131. package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
  132. package/dist/cjs/src/impl/ltc/tltc.js +15 -0
  133. package/dist/cjs/src/impl/pearl/index.d.ts +3 -0
  134. package/dist/cjs/src/impl/pearl/index.d.ts.map +1 -0
  135. package/dist/cjs/src/impl/pearl/index.js +19 -0
  136. package/dist/cjs/src/impl/pearl/pearl.d.ts +17 -0
  137. package/dist/cjs/src/impl/pearl/pearl.d.ts.map +1 -0
  138. package/dist/cjs/src/impl/pearl/pearl.js +24 -0
  139. package/dist/cjs/src/impl/pearl/tpearl.d.ts +8 -0
  140. package/dist/cjs/src/impl/pearl/tpearl.d.ts.map +1 -0
  141. package/dist/cjs/src/impl/pearl/tpearl.js +15 -0
  142. package/dist/cjs/src/impl/zec/index.d.ts +3 -0
  143. package/dist/cjs/src/impl/zec/index.d.ts.map +1 -0
  144. package/dist/cjs/src/impl/zec/index.js +19 -0
  145. package/dist/cjs/src/impl/zec/tzec.d.ts +9 -0
  146. package/dist/cjs/src/impl/zec/tzec.d.ts.map +1 -0
  147. package/dist/cjs/src/impl/zec/tzec.js +15 -0
  148. package/dist/cjs/src/impl/zec/zec.d.ts +12 -0
  149. package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -0
  150. package/dist/cjs/src/impl/zec/zec.js +15 -0
  151. package/dist/cjs/src/index.d.ts +23 -0
  152. package/dist/cjs/src/index.d.ts.map +1 -0
  153. package/dist/cjs/src/index.js +62 -0
  154. package/dist/cjs/src/keychains.d.ts +55 -0
  155. package/dist/cjs/src/keychains.d.ts.map +1 -0
  156. package/dist/cjs/src/keychains.js +143 -0
  157. package/dist/cjs/src/names.d.ts +13 -0
  158. package/dist/cjs/src/names.d.ts.map +1 -0
  159. package/dist/cjs/src/names.js +96 -0
  160. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
  161. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  162. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +22 -0
  163. package/dist/cjs/src/offlineVault/OfflineVaultSignable.d.ts +46 -0
  164. package/dist/cjs/src/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  165. package/dist/cjs/src/offlineVault/OfflineVaultSignable.js +55 -0
  166. package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts +16 -0
  167. package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts.map +1 -0
  168. package/dist/cjs/src/offlineVault/TransactionExplanation.js +15 -0
  169. package/dist/cjs/src/offlineVault/descriptor/index.d.ts +2 -0
  170. package/dist/cjs/src/offlineVault/descriptor/index.d.ts.map +1 -0
  171. package/dist/cjs/src/offlineVault/descriptor/index.js +18 -0
  172. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts +39 -0
  173. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -0
  174. package/dist/cjs/src/offlineVault/descriptor/transaction.js +80 -0
  175. package/dist/cjs/src/offlineVault/index.d.ts +6 -0
  176. package/dist/cjs/src/offlineVault/index.d.ts.map +1 -0
  177. package/dist/cjs/src/offlineVault/index.js +44 -0
  178. package/dist/{src → cjs/src}/recovery/RecoveryProvider.d.ts +1 -3
  179. package/dist/cjs/src/recovery/RecoveryProvider.d.ts.map +1 -0
  180. package/dist/cjs/src/recovery/RecoveryProvider.js +22 -0
  181. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +172 -0
  182. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
  183. package/dist/cjs/src/recovery/backupKeyRecovery.js +415 -0
  184. package/dist/{src → cjs/src}/recovery/baseApi.d.ts +3 -6
  185. package/dist/cjs/src/recovery/baseApi.d.ts.map +1 -0
  186. package/dist/cjs/src/recovery/baseApi.js +73 -0
  187. package/dist/{src → cjs/src}/recovery/coingeckoApi.d.ts +0 -3
  188. package/dist/cjs/src/recovery/coingeckoApi.d.ts.map +1 -0
  189. package/dist/cjs/src/recovery/coingeckoApi.js +44 -0
  190. package/dist/{src → cjs/src}/recovery/crossChainRecovery.d.ts +21 -9
  191. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
  192. package/dist/cjs/src/recovery/crossChainRecovery.js +302 -0
  193. package/dist/{src → cjs/src}/recovery/index.d.ts +0 -1
  194. package/dist/cjs/src/recovery/index.d.ts.map +1 -0
  195. package/dist/{src → cjs/src}/recovery/index.js +6 -3
  196. package/dist/cjs/src/recovery/mempoolApi.d.ts.map +1 -0
  197. package/dist/cjs/src/recovery/mempoolApi.js +36 -0
  198. package/dist/cjs/src/recovery/psbt.d.ts +68 -0
  199. package/dist/cjs/src/recovery/psbt.d.ts.map +1 -0
  200. package/dist/cjs/src/recovery/psbt.js +160 -0
  201. package/dist/cjs/src/tnumber.d.ts +4 -0
  202. package/dist/cjs/src/tnumber.d.ts.map +1 -0
  203. package/dist/cjs/src/tnumber.js +12 -0
  204. package/dist/cjs/src/transaction/bip322.d.ts +27 -0
  205. package/dist/cjs/src/transaction/bip322.d.ts.map +1 -0
  206. package/dist/cjs/src/transaction/bip322.js +139 -0
  207. package/dist/cjs/src/transaction/common/verifyPayGoAmount.d.ts +2 -0
  208. package/dist/cjs/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  209. package/dist/cjs/src/transaction/common/verifyPayGoAmount.js +3 -0
  210. package/dist/cjs/src/transaction/decode.d.ts +21 -0
  211. package/dist/cjs/src/transaction/decode.d.ts.map +1 -0
  212. package/dist/cjs/src/transaction/decode.js +45 -0
  213. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +5 -0
  214. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  215. package/dist/cjs/src/transaction/descriptor/explainPsbt.js +47 -0
  216. package/dist/cjs/src/transaction/descriptor/index.d.ts +7 -0
  217. package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -0
  218. package/dist/cjs/src/transaction/descriptor/index.js +14 -0
  219. package/dist/cjs/src/transaction/descriptor/parse.d.ts +18 -0
  220. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
  221. package/dist/cjs/src/transaction/descriptor/parse.js +86 -0
  222. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts +14 -0
  223. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  224. package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +60 -0
  225. package/dist/cjs/src/transaction/descriptor/recipient.d.ts +5 -0
  226. package/dist/cjs/src/transaction/descriptor/recipient.d.ts.map +1 -0
  227. package/dist/cjs/src/transaction/descriptor/recipient.js +3 -0
  228. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts +25 -0
  229. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
  230. package/dist/cjs/src/transaction/descriptor/signPsbt.js +44 -0
  231. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +36 -0
  232. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  233. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +90 -0
  234. package/dist/cjs/src/transaction/explainTransaction.d.ts +18 -0
  235. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
  236. package/dist/cjs/src/transaction/explainTransaction.js +84 -0
  237. package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts +24 -0
  238. package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -0
  239. package/dist/cjs/src/transaction/fixedScript/SigningError.js +32 -0
  240. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +45 -0
  241. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  242. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +149 -0
  243. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +47 -0
  244. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  245. package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +3 -0
  246. package/dist/cjs/src/transaction/fixedScript/index.d.ts +8 -0
  247. package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -0
  248. package/dist/cjs/src/transaction/fixedScript/index.js +30 -0
  249. package/dist/cjs/src/transaction/fixedScript/musig2.d.ts +4 -0
  250. package/dist/cjs/src/transaction/fixedScript/musig2.d.ts.map +1 -0
  251. package/dist/cjs/src/transaction/fixedScript/musig2.js +3 -0
  252. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts +28 -0
  253. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  254. package/dist/cjs/src/transaction/fixedScript/parseOutput.js +216 -0
  255. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +8 -0
  256. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  257. package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +227 -0
  258. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +10 -0
  259. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  260. package/dist/cjs/src/transaction/fixedScript/replayProtection.js +44 -0
  261. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +20 -0
  262. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
  263. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +118 -0
  264. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +22 -0
  265. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  266. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +46 -0
  267. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts +21 -0
  268. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  269. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +182 -0
  270. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts +9 -0
  271. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
  272. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.js +20 -0
  273. package/dist/cjs/src/transaction/index.d.ts +9 -0
  274. package/dist/cjs/src/transaction/index.d.ts.map +1 -0
  275. package/dist/cjs/src/transaction/index.js +52 -0
  276. package/dist/cjs/src/transaction/outputDifference.d.ts +44 -0
  277. package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
  278. package/dist/cjs/src/transaction/outputDifference.js +51 -0
  279. package/dist/cjs/src/transaction/parseTransaction.d.ts +4 -0
  280. package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -0
  281. package/dist/cjs/src/transaction/parseTransaction.js +48 -0
  282. package/dist/cjs/src/transaction/recipient.d.ts +34 -0
  283. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -0
  284. package/dist/cjs/src/transaction/recipient.js +69 -0
  285. package/dist/cjs/src/transaction/signTransaction.d.ts +6 -0
  286. package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -0
  287. package/dist/cjs/src/transaction/signTransaction.js +105 -0
  288. package/dist/cjs/src/transaction/types.d.ts +47 -0
  289. package/dist/cjs/src/transaction/types.d.ts.map +1 -0
  290. package/dist/cjs/src/transaction/types.js +3 -0
  291. package/dist/cjs/src/transaction/verifyTransaction.d.ts +4 -0
  292. package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -0
  293. package/dist/cjs/src/transaction/verifyTransaction.js +50 -0
  294. package/dist/cjs/src/unspent.d.ts +59 -0
  295. package/dist/cjs/src/unspent.d.ts.map +1 -0
  296. package/dist/cjs/src/unspent.js +20 -0
  297. package/dist/cjs/src/verifyKey.d.ts +22 -0
  298. package/dist/cjs/src/verifyKey.d.ts.map +1 -0
  299. package/dist/cjs/src/verifyKey.js +110 -0
  300. package/dist/cjs/src/wallet.d.ts +15 -0
  301. package/dist/cjs/src/wallet.d.ts.map +1 -0
  302. package/dist/cjs/src/wallet.js +8 -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 +201 -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 +102 -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 +204 -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/deriveKeyWithSeed.d.ts +2 -0
  328. package/dist/cjs/test/unit/deriveKeyWithSeed.d.ts.map +1 -0
  329. package/dist/cjs/test/unit/deriveKeyWithSeed.js +56 -0
  330. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts +2 -0
  331. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts.map +1 -0
  332. package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +51 -0
  333. package/dist/cjs/test/unit/descriptor/builder.d.ts +2 -0
  334. package/dist/cjs/test/unit/descriptor/builder.d.ts.map +1 -0
  335. package/dist/cjs/test/unit/descriptor/builder.js +92 -0
  336. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts +2 -0
  337. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  338. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +53 -0
  339. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts +2 -0
  340. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts.map +1 -0
  341. package/dist/cjs/test/unit/descriptor/descriptorWallet.js +62 -0
  342. package/dist/cjs/test/unit/descriptorAddress.d.ts +3 -0
  343. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -0
  344. package/dist/cjs/test/unit/descriptorAddress.js +103 -0
  345. package/dist/cjs/test/unit/explainTransaction.d.ts +2 -0
  346. package/dist/cjs/test/unit/explainTransaction.d.ts.map +1 -0
  347. package/dist/cjs/test/unit/explainTransaction.js +37 -0
  348. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts +4 -0
  349. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts.map +1 -0
  350. package/dist/cjs/test/unit/fixtures/psbtHexProof.js +9 -0
  351. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts +2 -0
  352. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts.map +1 -0
  353. package/dist/cjs/test/unit/impl/bch/unit/bch.js +71 -0
  354. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts +2 -0
  355. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts.map +1 -0
  356. package/dist/cjs/test/unit/impl/bcha/unit/index.js +41 -0
  357. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts +2 -0
  358. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts.map +1 -0
  359. package/dist/cjs/test/unit/impl/bsv/unit/index.js +34 -0
  360. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts +2 -0
  361. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts.map +1 -0
  362. package/dist/cjs/test/unit/impl/btg/unit/index.js +33 -0
  363. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts +2 -0
  364. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts.map +1 -0
  365. package/dist/cjs/test/unit/impl/dash/unit/index.js +34 -0
  366. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts +2 -0
  367. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts.map +1 -0
  368. package/dist/cjs/test/unit/impl/doge/unit/index.js +34 -0
  369. package/dist/cjs/test/unit/impl/pearl/unit/index.d.ts +2 -0
  370. package/dist/cjs/test/unit/impl/pearl/unit/index.d.ts.map +1 -0
  371. package/dist/cjs/test/unit/impl/pearl/unit/index.js +111 -0
  372. package/dist/cjs/test/unit/impl/zec/unit/index.d.ts +2 -0
  373. package/dist/cjs/test/unit/impl/zec/unit/index.d.ts.map +1 -0
  374. package/dist/cjs/test/unit/impl/zec/unit/index.js +30 -0
  375. package/dist/cjs/test/unit/keySignatures.d.ts +2 -0
  376. package/dist/cjs/test/unit/keySignatures.d.ts.map +1 -0
  377. package/dist/cjs/test/unit/keySignatures.js +54 -0
  378. package/dist/cjs/test/unit/keychains.d.ts +2 -0
  379. package/dist/cjs/test/unit/keychains.d.ts.map +1 -0
  380. package/dist/cjs/test/unit/keychains.js +87 -0
  381. package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts +2 -0
  382. package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts.map +1 -0
  383. package/dist/cjs/test/unit/offlineVault/halfSigned.js +124 -0
  384. package/dist/cjs/test/unit/parseTransaction.d.ts +2 -0
  385. package/dist/cjs/test/unit/parseTransaction.d.ts.map +1 -0
  386. package/dist/cjs/test/unit/parseTransaction.js +155 -0
  387. package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.d.ts +2 -0
  388. package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.d.ts.map +1 -0
  389. package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.js +99 -0
  390. package/dist/cjs/test/unit/postProcessPrebuild.d.ts +2 -0
  391. package/dist/cjs/test/unit/postProcessPrebuild.d.ts.map +1 -0
  392. package/dist/cjs/test/unit/postProcessPrebuild.js +65 -0
  393. package/dist/cjs/test/unit/prebuildAndSign.d.ts +2 -0
  394. package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -0
  395. package/dist/cjs/test/unit/prebuildAndSign.js +218 -0
  396. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts +2 -0
  397. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts.map +1 -0
  398. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +136 -0
  399. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts +2 -0
  400. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts.map +1 -0
  401. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.js +147 -0
  402. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts +2 -0
  403. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts.map +1 -0
  404. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +352 -0
  405. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts +2 -0
  406. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts.map +1 -0
  407. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +189 -0
  408. package/dist/cjs/test/unit/recovery/mock.d.ts +37 -0
  409. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -0
  410. package/dist/cjs/test/unit/recovery/mock.js +111 -0
  411. package/dist/cjs/test/unit/signTransaction.d.ts +2 -0
  412. package/dist/cjs/test/unit/signTransaction.d.ts.map +1 -0
  413. package/dist/cjs/test/unit/signTransaction.js +223 -0
  414. package/dist/cjs/test/unit/testSpoofTransaction.d.ts +2 -0
  415. package/dist/cjs/test/unit/testSpoofTransaction.d.ts.map +1 -0
  416. package/dist/cjs/test/unit/testSpoofTransaction.js +114 -0
  417. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts +2 -0
  418. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  419. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +64 -0
  420. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts +6 -0
  421. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
  422. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +51 -0
  423. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts +2 -0
  424. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts.map +1 -0
  425. package/dist/cjs/test/unit/transaction/descriptor/parse.js +138 -0
  426. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts +2 -0
  427. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts.map +1 -0
  428. package/dist/cjs/test/unit/transaction/descriptor/sign.js +76 -0
  429. package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.d.ts +2 -0
  430. package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.d.ts.map +1 -0
  431. package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.js +100 -0
  432. package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.d.ts +2 -0
  433. package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.d.ts.map +1 -0
  434. package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.js +84 -0
  435. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts +2 -0
  436. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts.map +1 -0
  437. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +81 -0
  438. package/dist/cjs/test/unit/transaction/descriptor/verifyTransactionQr.d.ts +2 -0
  439. package/dist/cjs/test/unit/transaction/descriptor/verifyTransactionQr.d.ts.map +1 -0
  440. package/dist/cjs/test/unit/transaction/descriptor/verifyTransactionQr.js +102 -0
  441. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts +2 -0
  442. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts.map +1 -0
  443. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +171 -0
  444. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts +2 -0
  445. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts.map +1 -0
  446. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +222 -0
  447. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts +2 -0
  448. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  449. package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.js +60 -0
  450. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts +2 -0
  451. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts.map +1 -0
  452. package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.js +98 -0
  453. package/dist/cjs/test/unit/transaction/outputDifference.d.ts +2 -0
  454. package/dist/cjs/test/unit/transaction/outputDifference.d.ts.map +1 -0
  455. package/dist/cjs/test/unit/transaction/outputDifference.js +117 -0
  456. package/dist/cjs/test/unit/transaction/recipient.d.ts +2 -0
  457. package/dist/cjs/test/unit/transaction/recipient.d.ts.map +1 -0
  458. package/dist/cjs/test/unit/transaction/recipient.js +52 -0
  459. package/dist/cjs/test/unit/transaction.d.ts +2 -0
  460. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  461. package/dist/cjs/test/unit/transaction.js +301 -0
  462. package/dist/cjs/test/unit/txFormat.d.ts +30 -0
  463. package/dist/cjs/test/unit/txFormat.d.ts.map +1 -0
  464. package/dist/cjs/test/unit/txFormat.js +161 -0
  465. package/dist/cjs/test/unit/util/address.d.ts +13 -0
  466. package/dist/cjs/test/unit/util/address.d.ts.map +1 -0
  467. package/dist/cjs/test/unit/util/address.js +15 -0
  468. package/dist/cjs/test/unit/util/assert.d.ts +3 -0
  469. package/dist/cjs/test/unit/util/assert.d.ts.map +1 -0
  470. package/dist/cjs/test/unit/util/assert.js +24 -0
  471. package/dist/cjs/test/unit/util/fixtures.d.ts +13 -0
  472. package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
  473. package/dist/cjs/test/unit/util/fixtures.js +105 -0
  474. package/dist/cjs/test/unit/util/index.d.ts +11 -0
  475. package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
  476. package/dist/cjs/test/unit/util/index.js +27 -0
  477. package/dist/cjs/test/unit/util/keychains.d.ts +55 -0
  478. package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
  479. package/dist/cjs/test/unit/util/keychains.js +122 -0
  480. package/dist/cjs/test/unit/util/nockBitGo.d.ts +10 -0
  481. package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
  482. package/dist/cjs/test/unit/util/nockBitGo.js +27 -0
  483. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts +8 -0
  484. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -0
  485. package/dist/cjs/test/unit/util/nockIndexerAPI.js +23 -0
  486. package/dist/cjs/test/unit/util/psbt.d.ts +19 -0
  487. package/dist/cjs/test/unit/util/psbt.d.ts.map +1 -0
  488. package/dist/cjs/test/unit/util/psbt.js +21 -0
  489. package/dist/cjs/test/unit/util/transaction.d.ts +28 -0
  490. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
  491. package/dist/cjs/test/unit/util/transaction.js +131 -0
  492. package/dist/cjs/test/unit/util/unspents.d.ts +71 -0
  493. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
  494. package/dist/cjs/test/unit/util/unspents.js +224 -0
  495. package/dist/cjs/test/unit/util/utxoCoins.d.ts +30 -0
  496. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
  497. package/dist/cjs/test/unit/util/utxoCoins.js +175 -0
  498. package/dist/cjs/test/unit/util/wallet.d.ts +4 -0
  499. package/dist/cjs/test/unit/util/wallet.d.ts.map +1 -0
  500. package/dist/cjs/test/unit/util/wallet.js +9 -0
  501. package/dist/cjs/test/unit/verifyTransaction.d.ts +2 -0
  502. package/dist/cjs/test/unit/verifyTransaction.d.ts.map +1 -0
  503. package/dist/cjs/test/unit/verifyTransaction.js +539 -0
  504. package/dist/cjs/test/unit/wallet.d.ts +2 -0
  505. package/dist/cjs/test/unit/wallet.d.ts.map +1 -0
  506. package/dist/cjs/test/unit/wallet.js +251 -0
  507. package/dist/cjs/test/unit/webauthn.d.ts +2 -0
  508. package/dist/cjs/test/unit/webauthn.d.ts.map +1 -0
  509. package/dist/cjs/test/unit/webauthn.js +77 -0
  510. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  511. package/dist/esm/abstractUtxoCoin.d.ts +458 -0
  512. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
  513. package/dist/esm/abstractUtxoCoin.js +644 -0
  514. package/dist/esm/address/fixedScript.d.ts +44 -0
  515. package/dist/esm/address/fixedScript.d.ts.map +1 -0
  516. package/dist/esm/address/fixedScript.js +100 -0
  517. package/dist/esm/address/index.d.ts +2 -0
  518. package/dist/esm/address/index.d.ts.map +1 -0
  519. package/dist/esm/address/index.js +2 -0
  520. package/dist/esm/config.d.ts +9 -0
  521. package/dist/esm/config.js +11 -0
  522. package/dist/esm/deriveKeyWithSeed.d.ts +12 -0
  523. package/dist/esm/deriveKeyWithSeed.d.ts.map +1 -0
  524. package/dist/esm/deriveKeyWithSeed.js +14 -0
  525. package/dist/esm/descriptor/NamedDescriptor.d.ts +19 -0
  526. package/dist/esm/descriptor/NamedDescriptor.d.ts.map +1 -0
  527. package/dist/esm/descriptor/NamedDescriptor.js +37 -0
  528. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  529. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  530. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +27 -0
  531. package/dist/esm/descriptor/builder/builder.d.ts +17 -0
  532. package/dist/esm/descriptor/builder/builder.d.ts.map +1 -0
  533. package/dist/esm/descriptor/builder/builder.js +51 -0
  534. package/dist/esm/descriptor/builder/index.d.ts +3 -0
  535. package/dist/esm/descriptor/builder/index.d.ts.map +1 -0
  536. package/dist/esm/descriptor/builder/index.js +3 -0
  537. package/dist/esm/descriptor/builder/parse.d.ts +5 -0
  538. package/dist/esm/descriptor/builder/parse.d.ts.map +1 -0
  539. package/dist/esm/descriptor/builder/parse.js +144 -0
  540. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  541. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  542. package/dist/esm/descriptor/createWallet/createDescriptorWallet.js +37 -0
  543. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +12 -0
  544. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  545. package/dist/esm/descriptor/createWallet/createDescriptors.js +29 -0
  546. package/dist/esm/descriptor/createWallet/index.d.ts +3 -0
  547. package/dist/esm/descriptor/createWallet/index.d.ts.map +1 -0
  548. package/dist/esm/descriptor/createWallet/index.js +3 -0
  549. package/dist/esm/descriptor/descriptorWallet.d.ts +19 -0
  550. package/dist/esm/descriptor/descriptorWallet.d.ts.map +1 -0
  551. package/dist/esm/descriptor/descriptorWallet.js +16 -0
  552. package/dist/esm/descriptor/index.d.ts +9 -0
  553. package/dist/esm/descriptor/index.d.ts.map +1 -0
  554. package/dist/esm/descriptor/index.js +7 -0
  555. package/dist/esm/descriptor/validatePolicy.d.ts +22 -0
  556. package/dist/esm/descriptor/validatePolicy.d.ts.map +1 -0
  557. package/dist/esm/descriptor/validatePolicy.js +82 -0
  558. package/dist/esm/impl/bch/bch.d.ts +22 -0
  559. package/dist/esm/impl/bch/bch.d.ts.map +1 -0
  560. package/dist/esm/impl/bch/bch.js +39 -0
  561. package/dist/esm/impl/bch/index.d.ts +3 -0
  562. package/dist/esm/impl/bch/index.d.ts.map +1 -0
  563. package/dist/esm/impl/bch/index.js +3 -0
  564. package/dist/esm/impl/bch/tbch.d.ts +12 -0
  565. package/dist/esm/impl/bch/tbch.d.ts.map +1 -0
  566. package/dist/esm/impl/bch/tbch.js +11 -0
  567. package/dist/esm/impl/bcha/bcha.d.ts +9 -0
  568. package/dist/esm/impl/bcha/bcha.d.ts.map +1 -0
  569. package/dist/esm/impl/bcha/bcha.js +11 -0
  570. package/dist/esm/impl/bcha/index.d.ts +3 -0
  571. package/dist/esm/impl/bcha/index.d.ts.map +1 -0
  572. package/dist/esm/impl/bcha/index.js +3 -0
  573. package/dist/esm/impl/bcha/tbcha.d.ts +12 -0
  574. package/dist/esm/impl/bcha/tbcha.d.ts.map +1 -0
  575. package/dist/esm/impl/bcha/tbcha.js +11 -0
  576. package/dist/esm/impl/bsv/bsv.d.ts +9 -0
  577. package/dist/esm/impl/bsv/bsv.d.ts.map +1 -0
  578. package/dist/esm/impl/bsv/bsv.js +11 -0
  579. package/dist/esm/impl/bsv/index.d.ts +3 -0
  580. package/dist/esm/impl/bsv/index.d.ts.map +1 -0
  581. package/dist/esm/impl/bsv/index.js +3 -0
  582. package/dist/esm/impl/bsv/tbsv.d.ts +12 -0
  583. package/dist/esm/impl/bsv/tbsv.d.ts.map +1 -0
  584. package/dist/esm/impl/bsv/tbsv.js +11 -0
  585. package/dist/esm/impl/btc/btc.d.ts +15 -0
  586. package/dist/esm/impl/btc/btc.d.ts.map +1 -0
  587. package/dist/esm/impl/btc/btc.js +18 -0
  588. package/dist/esm/impl/btc/index.d.ts +7 -0
  589. package/dist/esm/impl/btc/index.d.ts.map +1 -0
  590. package/dist/esm/impl/btc/index.js +7 -0
  591. package/dist/esm/impl/btc/inscriptionBuilder.d.ts +61 -0
  592. package/dist/esm/impl/btc/inscriptionBuilder.d.ts.map +1 -0
  593. package/dist/esm/impl/btc/inscriptionBuilder.js +163 -0
  594. package/dist/esm/impl/btc/tbtc.d.ts +12 -0
  595. package/dist/esm/impl/btc/tbtc.d.ts.map +1 -0
  596. package/dist/esm/impl/btc/tbtc.js +11 -0
  597. package/dist/esm/impl/btc/tbtc4.d.ts +12 -0
  598. package/dist/esm/impl/btc/tbtc4.d.ts.map +1 -0
  599. package/dist/esm/impl/btc/tbtc4.js +11 -0
  600. package/dist/esm/impl/btc/tbtcbgsig.d.ts +12 -0
  601. package/dist/esm/impl/btc/tbtcbgsig.d.ts.map +1 -0
  602. package/dist/esm/impl/btc/tbtcbgsig.js +11 -0
  603. package/dist/esm/impl/btc/tbtcsig.d.ts +12 -0
  604. package/dist/esm/impl/btc/tbtcsig.d.ts.map +1 -0
  605. package/dist/esm/impl/btc/tbtcsig.js +11 -0
  606. package/dist/esm/impl/btg/btg.d.ts +9 -0
  607. package/dist/esm/impl/btg/btg.d.ts.map +1 -0
  608. package/dist/esm/impl/btg/btg.js +11 -0
  609. package/dist/esm/impl/btg/index.d.ts +2 -0
  610. package/dist/esm/impl/btg/index.d.ts.map +1 -0
  611. package/dist/esm/impl/btg/index.js +2 -0
  612. package/dist/esm/impl/dash/dash.d.ts +9 -0
  613. package/dist/esm/impl/dash/dash.d.ts.map +1 -0
  614. package/dist/esm/impl/dash/dash.js +11 -0
  615. package/dist/esm/impl/dash/index.d.ts +3 -0
  616. package/dist/esm/impl/dash/index.d.ts.map +1 -0
  617. package/dist/esm/impl/dash/index.js +3 -0
  618. package/dist/esm/impl/dash/tdash.d.ts +12 -0
  619. package/dist/esm/impl/dash/tdash.d.ts.map +1 -0
  620. package/dist/esm/impl/dash/tdash.js +11 -0
  621. package/dist/esm/impl/doge/doge.d.ts +33 -0
  622. package/dist/esm/impl/doge/doge.d.ts.map +1 -0
  623. package/dist/esm/impl/doge/doge.js +72 -0
  624. package/dist/esm/impl/doge/index.d.ts +3 -0
  625. package/dist/esm/impl/doge/index.d.ts.map +1 -0
  626. package/dist/esm/impl/doge/index.js +3 -0
  627. package/dist/esm/impl/doge/tdoge.d.ts +12 -0
  628. package/dist/esm/impl/doge/tdoge.d.ts.map +1 -0
  629. package/dist/esm/impl/doge/tdoge.js +11 -0
  630. package/dist/esm/impl/index.d.ts +11 -0
  631. package/dist/esm/impl/index.d.ts.map +1 -0
  632. package/dist/esm/impl/index.js +11 -0
  633. package/dist/esm/impl/ltc/index.d.ts +3 -0
  634. package/dist/esm/impl/ltc/index.d.ts.map +1 -0
  635. package/dist/esm/impl/ltc/index.js +3 -0
  636. package/dist/esm/impl/ltc/ltc.d.ts +8 -0
  637. package/dist/esm/impl/ltc/ltc.d.ts.map +1 -0
  638. package/dist/esm/impl/ltc/ltc.js +11 -0
  639. package/dist/esm/impl/ltc/tltc.d.ts +8 -0
  640. package/dist/esm/impl/ltc/tltc.d.ts.map +1 -0
  641. package/dist/esm/impl/ltc/tltc.js +11 -0
  642. package/dist/esm/impl/pearl/index.d.ts +3 -0
  643. package/dist/esm/impl/pearl/index.d.ts.map +1 -0
  644. package/dist/esm/impl/pearl/index.js +3 -0
  645. package/dist/esm/impl/pearl/pearl.d.ts +17 -0
  646. package/dist/esm/impl/pearl/pearl.d.ts.map +1 -0
  647. package/dist/esm/impl/pearl/pearl.js +20 -0
  648. package/dist/esm/impl/pearl/tpearl.d.ts +8 -0
  649. package/dist/esm/impl/pearl/tpearl.d.ts.map +1 -0
  650. package/dist/esm/impl/pearl/tpearl.js +11 -0
  651. package/dist/esm/impl/zec/index.d.ts +3 -0
  652. package/dist/esm/impl/zec/index.d.ts.map +1 -0
  653. package/dist/esm/impl/zec/index.js +3 -0
  654. package/dist/esm/impl/zec/tzec.d.ts +9 -0
  655. package/dist/esm/impl/zec/tzec.d.ts.map +1 -0
  656. package/dist/esm/impl/zec/tzec.js +11 -0
  657. package/dist/esm/impl/zec/zec.d.ts +12 -0
  658. package/dist/esm/impl/zec/zec.d.ts.map +1 -0
  659. package/dist/esm/impl/zec/zec.js +11 -0
  660. package/dist/esm/index.d.ts +23 -0
  661. package/dist/esm/index.d.ts.map +1 -0
  662. package/dist/esm/index.js +23 -0
  663. package/dist/esm/keychains.d.ts +55 -0
  664. package/dist/esm/keychains.d.ts.map +1 -0
  665. package/dist/esm/keychains.js +98 -0
  666. package/dist/esm/names.d.ts +13 -0
  667. package/dist/esm/names.d.ts.map +1 -0
  668. package/dist/esm/names.js +86 -0
  669. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
  670. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  671. package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +19 -0
  672. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts +46 -0
  673. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  674. package/dist/esm/offlineVault/OfflineVaultSignable.js +18 -0
  675. package/dist/esm/offlineVault/TransactionExplanation.d.ts +16 -0
  676. package/dist/esm/offlineVault/TransactionExplanation.d.ts.map +1 -0
  677. package/dist/esm/offlineVault/TransactionExplanation.js +12 -0
  678. package/dist/esm/offlineVault/descriptor/index.d.ts +2 -0
  679. package/dist/esm/offlineVault/descriptor/index.d.ts.map +1 -0
  680. package/dist/esm/offlineVault/descriptor/index.js +2 -0
  681. package/dist/esm/offlineVault/descriptor/transaction.d.ts +39 -0
  682. package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -0
  683. package/dist/esm/offlineVault/descriptor/transaction.js +41 -0
  684. package/dist/esm/offlineVault/index.d.ts +6 -0
  685. package/dist/esm/offlineVault/index.d.ts.map +1 -0
  686. package/dist/esm/offlineVault/index.js +4 -0
  687. package/dist/esm/recovery/RecoveryProvider.d.ts +20 -0
  688. package/dist/esm/recovery/RecoveryProvider.d.ts.map +1 -0
  689. package/dist/esm/recovery/RecoveryProvider.js +19 -0
  690. package/dist/esm/recovery/backupKeyRecovery.d.ts +172 -0
  691. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -0
  692. package/dist/esm/recovery/backupKeyRecovery.js +404 -0
  693. package/dist/esm/recovery/baseApi.d.ts +24 -0
  694. package/dist/esm/recovery/baseApi.d.ts.map +1 -0
  695. package/dist/esm/recovery/baseApi.js +64 -0
  696. package/dist/esm/recovery/coingeckoApi.d.ts +6 -0
  697. package/dist/esm/recovery/coingeckoApi.d.ts.map +1 -0
  698. package/dist/esm/recovery/coingeckoApi.js +40 -0
  699. package/dist/esm/recovery/crossChainRecovery.d.ts +97 -0
  700. package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -0
  701. package/dist/esm/recovery/crossChainRecovery.js +295 -0
  702. package/dist/esm/recovery/index.d.ts +7 -0
  703. package/dist/{src → esm}/recovery/index.d.ts.map +1 -1
  704. package/dist/esm/recovery/index.js +7 -0
  705. package/dist/esm/recovery/mempoolApi.d.ts +7 -0
  706. package/dist/{src → esm}/recovery/mempoolApi.d.ts.map +1 -1
  707. package/dist/esm/recovery/mempoolApi.js +29 -0
  708. package/dist/esm/recovery/psbt.d.ts +68 -0
  709. package/dist/esm/recovery/psbt.d.ts.map +1 -0
  710. package/dist/esm/recovery/psbt.js +152 -0
  711. package/dist/esm/tnumber.d.ts +4 -0
  712. package/dist/esm/tnumber.d.ts.map +1 -0
  713. package/dist/esm/tnumber.js +9 -0
  714. package/dist/esm/transaction/bip322.d.ts +27 -0
  715. package/dist/esm/transaction/bip322.d.ts.map +1 -0
  716. package/dist/esm/transaction/bip322.js +100 -0
  717. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts +1 -0
  718. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  719. package/dist/esm/transaction/common/verifyPayGoAmount.js +1 -0
  720. package/dist/esm/transaction/decode.d.ts +21 -0
  721. package/dist/esm/transaction/decode.d.ts.map +1 -0
  722. package/dist/esm/transaction/decode.js +39 -0
  723. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +5 -0
  724. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  725. package/dist/esm/transaction/descriptor/explainPsbt.js +44 -0
  726. package/dist/esm/transaction/descriptor/index.d.ts +7 -0
  727. package/dist/esm/transaction/descriptor/index.d.ts.map +1 -0
  728. package/dist/esm/transaction/descriptor/index.js +6 -0
  729. package/dist/esm/transaction/descriptor/parse.d.ts +18 -0
  730. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
  731. package/dist/esm/transaction/descriptor/parse.js +82 -0
  732. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +14 -0
  733. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  734. package/dist/esm/transaction/descriptor/parseToAmountType.js +55 -0
  735. package/dist/esm/transaction/descriptor/recipient.d.ts +5 -0
  736. package/dist/esm/transaction/descriptor/recipient.d.ts.map +1 -0
  737. package/dist/esm/transaction/descriptor/recipient.js +2 -0
  738. package/dist/esm/transaction/descriptor/signPsbt.d.ts +25 -0
  739. package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -0
  740. package/dist/esm/transaction/descriptor/signPsbt.js +39 -0
  741. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +36 -0
  742. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  743. package/dist/esm/transaction/descriptor/verifyTransaction.js +80 -0
  744. package/dist/esm/transaction/explainTransaction.d.ts +18 -0
  745. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
  746. package/dist/esm/transaction/explainTransaction.js +48 -0
  747. package/dist/esm/transaction/fixedScript/SigningError.d.ts +24 -0
  748. package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -0
  749. package/dist/esm/transaction/fixedScript/SigningError.js +26 -0
  750. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +45 -0
  751. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  752. package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +144 -0
  753. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +47 -0
  754. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  755. package/dist/esm/transaction/fixedScript/explainTransaction.js +2 -0
  756. package/dist/esm/transaction/fixedScript/index.d.ts +8 -0
  757. package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
  758. package/dist/esm/transaction/fixedScript/index.js +7 -0
  759. package/dist/esm/transaction/fixedScript/musig2.d.ts +4 -0
  760. package/dist/esm/transaction/fixedScript/musig2.d.ts.map +1 -0
  761. package/dist/esm/transaction/fixedScript/musig2.js +2 -0
  762. package/dist/esm/transaction/fixedScript/parseOutput.d.ts +28 -0
  763. package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  764. package/dist/esm/transaction/fixedScript/parseOutput.js +209 -0
  765. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +8 -0
  766. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  767. package/dist/esm/transaction/fixedScript/parseTransaction.js +221 -0
  768. package/dist/esm/transaction/fixedScript/replayProtection.d.ts +10 -0
  769. package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -0
  770. package/dist/esm/transaction/fixedScript/replayProtection.js +38 -0
  771. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +20 -0
  772. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
  773. package/dist/esm/transaction/fixedScript/signPsbtWasm.js +111 -0
  774. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +22 -0
  775. package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  776. package/dist/esm/transaction/fixedScript/signTransaction.js +39 -0
  777. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts +21 -0
  778. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  779. package/dist/esm/transaction/fixedScript/verifyTransaction.js +176 -0
  780. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +9 -0
  781. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
  782. package/dist/esm/transaction/getPayGoVerificationPubkey.js +17 -0
  783. package/dist/esm/transaction/index.d.ts +9 -0
  784. package/dist/esm/transaction/index.d.ts.map +1 -0
  785. package/dist/esm/transaction/index.js +9 -0
  786. package/dist/esm/transaction/outputDifference.d.ts +44 -0
  787. package/dist/esm/transaction/outputDifference.d.ts.map +1 -0
  788. package/dist/esm/transaction/outputDifference.js +45 -0
  789. package/dist/esm/transaction/parseTransaction.d.ts +4 -0
  790. package/dist/esm/transaction/parseTransaction.d.ts.map +1 -0
  791. package/dist/esm/transaction/parseTransaction.js +12 -0
  792. package/dist/esm/transaction/recipient.d.ts +34 -0
  793. package/dist/esm/transaction/recipient.d.ts.map +1 -0
  794. package/dist/esm/transaction/recipient.js +61 -0
  795. package/dist/esm/transaction/signTransaction.d.ts +6 -0
  796. package/dist/esm/transaction/signTransaction.d.ts.map +1 -0
  797. package/dist/esm/transaction/signTransaction.js +66 -0
  798. package/dist/esm/transaction/types.d.ts +47 -0
  799. package/dist/esm/transaction/types.d.ts.map +1 -0
  800. package/dist/esm/transaction/types.js +2 -0
  801. package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
  802. package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -0
  803. package/dist/esm/transaction/verifyTransaction.js +14 -0
  804. package/dist/esm/unspent.d.ts +59 -0
  805. package/dist/esm/unspent.d.ts.map +1 -0
  806. package/dist/esm/unspent.js +15 -0
  807. package/dist/esm/verifyKey.d.ts +22 -0
  808. package/dist/esm/verifyKey.d.ts.map +1 -0
  809. package/dist/esm/verifyKey.js +102 -0
  810. package/dist/esm/wallet.d.ts +15 -0
  811. package/dist/esm/wallet.d.ts.map +1 -0
  812. package/dist/esm/wallet.js +5 -0
  813. package/package.json +48 -20
  814. package/.eslintignore +0 -5
  815. package/CHANGELOG.md +0 -253
  816. package/dist/src/abstractUtxoCoin.d.ts +0 -392
  817. package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
  818. package/dist/src/abstractUtxoCoin.js +0 -931
  819. package/dist/src/config.js +0 -14
  820. package/dist/src/index.d.ts +0 -6
  821. package/dist/src/index.d.ts.map +0 -1
  822. package/dist/src/index.js +0 -18
  823. package/dist/src/parseOutput.d.ts +0 -22
  824. package/dist/src/parseOutput.d.ts.map +0 -1
  825. package/dist/src/parseOutput.js +0 -181
  826. package/dist/src/recovery/RecoveryProvider.d.ts.map +0 -1
  827. package/dist/src/recovery/RecoveryProvider.js +0 -24
  828. package/dist/src/recovery/backupKeyRecovery.d.ts +0 -62
  829. package/dist/src/recovery/backupKeyRecovery.d.ts.map +0 -1
  830. package/dist/src/recovery/backupKeyRecovery.js +0 -293
  831. package/dist/src/recovery/baseApi.d.ts.map +0 -1
  832. package/dist/src/recovery/baseApi.js +0 -73
  833. package/dist/src/recovery/coingeckoApi.d.ts.map +0 -1
  834. package/dist/src/recovery/coingeckoApi.js +0 -47
  835. package/dist/src/recovery/crossChainRecovery.d.ts.map +0 -1
  836. package/dist/src/recovery/crossChainRecovery.js +0 -294
  837. package/dist/src/recovery/mempoolApi.js +0 -33
  838. package/dist/src/recovery/smartbitApi.d.ts +0 -11
  839. package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
  840. package/dist/src/recovery/smartbitApi.js +0 -36
  841. package/dist/src/replayProtection.d.ts +0 -4
  842. package/dist/src/replayProtection.d.ts.map +0 -1
  843. package/dist/src/replayProtection.js +0 -21
  844. package/dist/src/sign.d.ts +0 -31
  845. package/dist/src/sign.d.ts.map +0 -1
  846. package/dist/src/sign.js +0 -104
  847. package/dist/tsconfig.tsbuildinfo +0 -8179
  848. /package/dist/{src → cjs/src}/config.d.ts +0 -0
  849. /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
  850. /package/dist/{src → esm}/config.d.ts.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../../test/unit/util/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAwC,MAAM,kBAAkB,CAAC;AAEnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD,KAAK,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;AAC1D,KAAK,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,EAAE,CAAC;IACJ,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAYF,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,kBAAkB,EAC9B,gBAAgB,EAAE,MAAM,EAAE,GACzB,IAAI,CAgBN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACvE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GACzC,cAAc,CAehB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,GAAE,QAAQ,GAAG,QAAmB,GACzC,cAAc,CAQhB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAChF,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAaxC;AAoBD,wBAAgB,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAClF,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAC5B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAChE,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAChD,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAKxC;AAED,wBAAgB,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAClF,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAC5B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAChE,UAAU,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAUxC"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.assertEqualParsedPsbt = assertEqualParsedPsbt;
40
+ exports.transactionToObj = transactionToObj;
41
+ exports.transactionHexToObj = transactionHexToObj;
42
+ exports.createPrebuildTransaction = createPrebuildTransaction;
43
+ exports.createHalfSignedTransaction = createHalfSignedTransaction;
44
+ exports.createFullSignedTransaction = createFullSignedTransaction;
45
+ const assert_1 = __importDefault(require("assert"));
46
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
47
+ const wasm_utxo_1 = require("@bitgo/wasm-utxo");
48
+ const utxoCoins_1 = require("./utxoCoins");
49
+ const { isWalletUnspent, signInputWithUnspent } = utxolib.bitgo;
50
+ function toTxOutput(u, network) {
51
+ return {
52
+ script: Buffer.from(wasm_utxo_1.address.toOutputScriptWithCoin(u.address, (0, utxoCoins_1.getCoinNameForNetwork)(network))),
53
+ value: u.value,
54
+ };
55
+ }
56
+ function assertEqualParsedPsbt(a, b, coinName, walletKeys, replayProtection) {
57
+ if (!(0, wasm_utxo_1.hasPsbtMagic)(a)) {
58
+ throw new Error('a is not a psbt');
59
+ }
60
+ if (!(0, wasm_utxo_1.hasPsbtMagic)(b)) {
61
+ throw new Error('b is not a psbt');
62
+ }
63
+ const aPsbt = wasm_utxo_1.fixedScriptWallet.BitGoPsbt.fromBytes(a, coinName);
64
+ const bPsbt = wasm_utxo_1.fixedScriptWallet.BitGoPsbt.fromBytes(b, coinName);
65
+ const aParsed = aPsbt.parseTransactionWithWalletKeys(walletKeys, {
66
+ replayProtection: { publicKeys: replayProtection },
67
+ });
68
+ const bParsed = bPsbt.parseTransactionWithWalletKeys(walletKeys, {
69
+ replayProtection: { publicKeys: replayProtection },
70
+ });
71
+ assert_1.default.deepStrictEqual(aParsed, bParsed);
72
+ }
73
+ function transactionToObj(tx) {
74
+ return {
75
+ id: tx.getId(),
76
+ hex: tx.toBuffer().toString('hex'),
77
+ ins: tx.ins.map((v) => ({
78
+ txid: Buffer.from(v.hash).reverse().toString('hex'),
79
+ index: v.index,
80
+ script: v.script?.toString('hex'),
81
+ witness: v.witness?.map((v) => v.toString('hex')),
82
+ })),
83
+ outs: tx.outs.map((v) => ({
84
+ script: v.script.toString('hex'),
85
+ value: typeof v.value === 'bigint' ? v.value.toString() : v.value,
86
+ })),
87
+ };
88
+ }
89
+ function transactionHexToObj(txHex, network, amountType = 'number') {
90
+ const obj = transactionToObj(utxolib.bitgo.createTransactionFromBuffer(Buffer.from(txHex, 'hex'), network, { amountType }));
91
+ if (obj.hex !== txHex) {
92
+ throw new Error(`serialized txHex does not match input`);
93
+ }
94
+ return obj;
95
+ }
96
+ function createPrebuildTransaction(network, unspents, outputAddress) {
97
+ const txb = utxolib.bitgo.createTransactionBuilderForNetwork(network);
98
+ unspents.forEach((u) => {
99
+ const [txid, vin] = u.id.split(':');
100
+ txb.addInput(txid, Number(vin));
101
+ });
102
+ const amountType = unspents.length > 0 && typeof unspents[0].value === 'bigint' ? 'bigint' : 'number';
103
+ if (amountType === 'number') {
104
+ unspents.forEach((u) => (u.value = Math.round(u.value)));
105
+ }
106
+ const unspentSum = utxolib.bitgo.unspentSum(unspents, amountType);
107
+ txb.addOutput(outputAddress, utxolib.bitgo.toTNumber(BigInt(unspentSum) - BigInt(1000), amountType));
108
+ return txb.buildIncomplete();
109
+ }
110
+ function createTransactionBuilderWithSignedInputs(network, unspents, signer, inputTransaction) {
111
+ const txBuilder = utxolib.bitgo.createTransactionBuilderFromTransaction(inputTransaction, unspents.map((u) => toTxOutput(u, network)));
112
+ unspents.forEach((u, inputIndex) => {
113
+ if (isWalletUnspent(u)) {
114
+ signInputWithUnspent(txBuilder, inputIndex, u, signer);
115
+ }
116
+ });
117
+ return txBuilder;
118
+ }
119
+ function createHalfSignedTransaction(network, unspents, outputAddress, signer, prebuild) {
120
+ if (!prebuild) {
121
+ prebuild = createPrebuildTransaction(network, unspents, outputAddress);
122
+ }
123
+ return createTransactionBuilderWithSignedInputs(network, unspents, signer, prebuild).buildIncomplete();
124
+ }
125
+ function createFullSignedTransaction(network, unspents, outputAddress, signer, halfSigned) {
126
+ if (!halfSigned) {
127
+ halfSigned = createHalfSignedTransaction(network, unspents, outputAddress, signer);
128
+ }
129
+ return createTransactionBuilderWithSignedInputs(network, unspents, new utxolib.bitgo.WalletUnspentSigner(signer.walletKeys, signer.cosigner, signer.signer), halfSigned).build();
130
+ }
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdXRpbC90cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDQSxzREFzQkM7QUFFRCw0Q0FpQkM7QUFFRCxrREFZQztBQUVELDhEQWlCQztBQW9CRCxrRUFXQztBQUVELGtFQWdCQztBQWhLRCxvREFBNEI7QUFFNUIsOERBQWdEO0FBQ2hELGdEQUFtRztBQUtuRywyQ0FBb0Q7QUFDcEQsTUFBTSxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFrQmhFLFNBQVMsVUFBVSxDQUNqQixDQUFtQixFQUNuQixPQUF3QjtJQUV4QixPQUFPO1FBQ0wsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUEsaUNBQXFCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUNuQyxDQUFTLEVBQ1QsQ0FBUyxFQUNULFFBQXNCLEVBQ3RCLFVBQThCLEVBQzlCLGdCQUEwQjtJQUUxQixJQUFJLENBQUMsSUFBQSx3QkFBWSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBQSx3QkFBWSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyw2QkFBaUIsQ0FBQyxTQUFT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IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgRUNQYWlyLCBmaXhlZFNjcmlwdFdhbGxldCwgaGFzUHNidE1hZ2ljLCBhZGRyZXNzIGFzIHdhc21BZGRyZXNzIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB0eXBlIHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vLi4vc3JjL25hbWVzJztcbmltcG9ydCB0eXBlIHsgVW5zcGVudCB9IGZyb20gJy4uLy4uLy4uL3NyYy91bnNwZW50JztcblxuaW1wb3J0IHsgZ2V0Q29pbk5hbWVGb3JOZXR3b3JrIH0gZnJvbSAnLi91dHhvQ29pbnMnO1xuY29uc3QgeyBpc1dhbGxldFVuc3BlbnQsIHNpZ25JbnB1dFdpdGhVbnNwZW50IH0gPSB1dHhvbGliLmJpdGdvO1xudHlwZSBVdHhvbGliUm9vdFdhbGxldEtleXMgPSB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzO1xudHlwZSBXYXNtUm9vdFdhbGxldEtleXMgPSBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cztcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uT2JqID0ge1xuICBpZDogc3RyaW5nO1xuICBoZXg6IHN0cmluZztcbiAgaW5zOiB7XG4gICAgdHhpZDogc3RyaW5nO1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgc2NyaXB0U2lnPzogc3RyaW5nO1xuICAgIHdpdG5lc3M/OiBzdHJpbmdbXTtcbiAgfVtdO1xuICBvdXRzOiB7XG4gICAgc2NyaXB0OiBzdHJpbmc7XG4gICAgdmFsdWU6IG51bWJlciB8IHN0cmluZztcbiAgfVtdO1xufTtcblxuZnVuY3Rpb24gdG9UeE91dHB1dDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgdTogVW5zcGVudDxUTnVtYmVyPixcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOiB1dHhvbGliLlR4T3V0cHV0PFROdW1iZXI+IHtcbiAgcmV0dXJuIHtcbiAgICBzY3JpcHQ6IEJ1ZmZlci5mcm9tKHdhc21BZGRyZXNzLnRvT3V0cHV0U2NyaXB0V2l0aENvaW4odS5hZGRyZXNzLCBnZXRDb2luTmFtZUZvck5ldHdvcmsobmV0d29yaykpKSxcbiAgICB2YWx1ZTogdS52YWx1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEVxdWFsUGFyc2VkUHNidChcbiAgYTogQnVmZmVyLFxuICBiOiBCdWZmZXIsXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsXG4gIHdhbGxldEtleXM6IFdhc21Sb290V2FsbGV0S2V5cyxcbiAgcmVwbGF5UHJvdGVjdGlvbjogRUNQYWlyW11cbik6IHZvaWQge1xuICBpZiAoIWhhc1BzYnRNYWdpYyhhKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignYSBpcyBub3QgYSBwc2J0Jyk7XG4gIH1cbiAgaWYgKCFoYXNQc2J0TWFnaWMoYikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2IgaXMgbm90IGEgcHNidCcpO1xuICB9XG4gIGNvbnN0IGFQc2J0ID0gZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0LmZyb21CeXRlcyhhLCBjb2luTmFtZSk7XG4gIGNvbnN0IGJQc2J0ID0gZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0LmZyb21CeXRlcyhiLCBjb2luTmFtZSk7XG4gIGNvbnN0IGFQYXJzZWQgPSBhUHNidC5wYXJzZVRyYW5zYWN0aW9uV2l0aFdhbGxldEtleXMod2FsbGV0S2V5cywge1xuICAgIHJlcGxheVByb3RlY3Rpb246IHsgcHVibGljS2V5czogcmVwbGF5UHJvdGVjdGlvbiB9LFxuICB9KTtcbiAgY29uc3QgYlBhcnNlZCA9IGJQc2J0LnBhcnNlVHJhbnNhY3Rpb25XaXRoV2FsbGV0S2V5cyh3YWxsZXRLZXlzLCB7XG4gICAgcmVwbGF5UHJvdGVjdGlvbjogeyBwdWJsaWNLZXlzOiByZXBsYXlQcm90ZWN0aW9uIH0sXG4gIH0pO1xuICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKGFQYXJzZWQsIGJQYXJzZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNhY3Rpb25Ub09iajxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgdHg6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+XG4pOiBUcmFuc2FjdGlvbk9iaiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IHR4LmdldElkKCksXG4gICAgaGV4OiB0eC50b0J1ZmZlcigpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICBpbnM6IHR4Lmlucy5tYXAoKHYpID0+ICh7XG4gICAgICB0eGlkOiBCdWZmZXIuZnJvbSh2Lmhhc2gpLnJldmVyc2UoKS50b1N0cmluZygnaGV4JyksXG4gICAgICBpbmRleDogdi5pbmRleCxcbiAgICAgIHNjcmlwdDogdi5zY3JpcHQ/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHdpdG5lc3M6IHYud2l0bmVzcz8ubWFwKCh2KSA9PiB2LnRvU3RyaW5nKCdoZXgnKSksXG4gICAgfSkpLFxuICAgIG91dHM6IHR4Lm91dHMubWFwKCh2KSA9PiAoe1xuICAgICAgc2NyaXB0OiB2LnNjcmlwdC50b1N0cmluZygnaGV4JyksXG4gICAgICB2YWx1ZTogdHlwZW9mIHYudmFsdWUgPT09ICdiaWdpbnQnID8gdi52YWx1ZS50b1N0cmluZygpIDogKHYudmFsdWUgYXMgbnVtYmVyKSxcbiAgICB9KSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2FjdGlvbkhleFRvT2JqKFxuICB0eEhleDogc3RyaW5nLFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIGFtb3VudFR5cGU6ICdudW1iZXInIHwgJ2JpZ2ludCcgPSAnbnVtYmVyJ1xuKTogVHJhbnNhY3Rpb25PYmoge1xuICBjb25zdCBvYmogPSB0cmFuc2FjdGlvblRvT2JqKFxuICAgIHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25Gcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKHR4SGV4LCAnaGV4JyksIG5ldHdvcmssIHsgYW1vdW50VHlwZSB9KVxuICApO1xuICBpZiAob2JqLmhleCAhPT0gdHhIZXgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHNlcmlhbGl6ZWQgdHhIZXggZG9lcyBub3QgbWF0Y2ggaW5wdXRgKTtcbiAgfVxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJlYnVpbGRUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICB1bnNwZW50czogVW5zcGVudDxUTnVtYmVyPltdLFxuICBvdXRwdXRBZGRyZXNzOiBzdHJpbmdcbik6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+IHtcbiAgY29uc3QgdHhiID0gdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJGb3JOZXR3b3JrPFROdW1iZXI+KG5ldHdvcmspO1xuICB1bnNwZW50cy5mb3JFYWNoKCh1KSA9PiB7XG4gICAgY29uc3QgW3R4aWQsIHZpbl0gPSB1LmlkLnNwbGl0KCc6Jyk7XG4gICAgdHhiLmFkZElucHV0KHR4aWQsIE51bWJlcih2aW4pKTtcbiAgfSk7XG4gIGNvbnN0IGFtb3VudFR5cGUgPSB1bnNwZW50cy5sZW5ndGggPiAwICYmIHR5cGVvZiB1bnNwZW50c1swXS52YWx1ZSA9PT0gJ2JpZ2ludCcgPyAnYmlnaW50JyA6ICdudW1iZXInO1xuICBpZiAoYW1vdW50VHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICB1bnNwZW50cy5mb3JFYWNoKCh1KSA9PiAodS52YWx1ZSA9IE1hdGgucm91bmQodS52YWx1ZSBhcyBudW1iZXIpIGFzIFROdW1iZXIpKTtcbiAgfVxuICBjb25zdCB1bnNwZW50U3VtID0gdXR4b2xpYi5iaXRnby51bnNwZW50U3VtPFROdW1iZXI+KHVuc3BlbnRzLCBhbW91bnRUeXBlKTtcbiAgdHhiLmFkZE91dHB1dChvdXRwdXRBZGRyZXNzLCB1dHhvbGliLmJpdGdvLnRvVE51bWJlcjxUTnVtYmVyPihCaWdJbnQodW5zcGVudFN1bSkgLSBCaWdJbnQoMTAwMCksIGFtb3VudFR5cGUpKTtcbiAgcmV0dXJuIHR4Yi5idWlsZEluY29tcGxldGUoKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVHJhbnNhY3Rpb25CdWlsZGVyV2l0aFNpZ25lZElucHV0czxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICB1bnNwZW50czogVW5zcGVudDxUTnVtYmVyPltdLFxuICBzaWduZXI6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudFNpZ25lcjxVdHhvbGliUm9vdFdhbGxldEtleXM+LFxuICBpbnB1dFRyYW5zYWN0aW9uOiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPlxuKTogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb25CdWlsZGVyPFROdW1iZXI+IHtcbiAgY29uc3QgdHhCdWlsZGVyID0gdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJGcm9tVHJhbnNhY3Rpb248VE51bWJlcj4oXG4gICAgaW5wdXRUcmFuc2FjdGlvbixcbiAgICB1bnNwZW50cy5tYXAoKHUpID0+IHRvVHhPdXRwdXQ8VE51bWJlcj4odSwgbmV0d29yaykpXG4gICk7XG4gIHVuc3BlbnRzLmZvckVhY2goKHUsIGlucHV0SW5kZXgpID0+IHtcbiAgICBpZiAoaXNXYWxsZXRVbnNwZW50PFROdW1iZXI+KHUpKSB7XG4gICAgICBzaWduSW5wdXRXaXRoVW5zcGVudDxUTnVtYmVyPih0eEJ1aWxkZXIsIGlucHV0SW5kZXgsIHUsIHNpZ25lcik7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHR4QnVpbGRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUhhbGZTaWduZWRUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICB1bnNwZW50czogVW5zcGVudDxUTnVtYmVyPltdLFxuICBvdXRwdXRBZGRyZXNzOiBzdHJpbmcsXG4gIHNpZ25lcjogdXR4b2xpYi5iaXRnby5XYWxsZXRVbnNwZW50U2lnbmVyPFV0eG9saWJSb290V2FsbGV0S2V5cz4sXG4gIHByZWJ1aWxkPzogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj5cbik6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+IHtcbiAgaWYgKCFwcmVidWlsZCkge1xuICAgIHByZWJ1aWxkID0gY3JlYXRlUHJlYnVpbGRUcmFuc2FjdGlvbjxUTnVtYmVyPihuZXR3b3JrLCB1bnNwZW50cywgb3V0cHV0QWRkcmVzcyk7XG4gIH1cbiAgcmV0dXJuIGNyZWF0ZVRyYW5zYWN0aW9uQnVpbGRlcldpdGhTaWduZWRJbnB1dHM8VE51bWJlcj4obmV0d29yaywgdW5zcGVudHMsIHNpZ25lciwgcHJlYnVpbGQpLmJ1aWxkSW5jb21wbGV0ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnVsbFNpZ25lZFRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+KFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIHVuc3BlbnRzOiBVbnNwZW50PFROdW1iZXI+W10sXG4gIG91dHB1dEFkZHJlc3M6IHN0cmluZyxcbiAgc2lnbmVyOiB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnRTaWduZXI8VXR4b2xpYlJvb3RXYWxsZXRLZXlzPixcbiAgaGFsZlNpZ25lZD86IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+XG4pOiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPiB7XG4gIGlmICghaGFsZlNpZ25lZCkge1xuICAgIGhhbGZTaWduZWQgPSBjcmVhdGVIYWxmU2lnbmVkVHJhbnNhY3Rpb248VE51bWJlcj4obmV0d29yaywgdW5zcGVudHMsIG91dHB1dEFkZHJlc3MsIHNpZ25lcik7XG4gIH1cbiAgcmV0dXJuIGNyZWF0ZVRyYW5zYWN0aW9uQnVpbGRlcldpdGhTaWduZWRJbnB1dHM8VE51bWJlcj4oXG4gICAgbmV0d29yayxcbiAgICB1bnNwZW50cyxcbiAgICBuZXcgdXR4b2xpYi5iaXRnby5XYWxsZXRVbnNwZW50U2lnbmVyKHNpZ25lci53YWxsZXRLZXlzLCBzaWduZXIuY29zaWduZXIsIHNpZ25lci5zaWduZXIpLFxuICAgIGhhbGZTaWduZWRcbiAgKS5idWlsZCgpO1xufVxuIl19
@@ -0,0 +1,71 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import * as wasmUtxo from '@bitgo/wasm-utxo';
3
+ import type { Unspent, UnspentWithPrevTx, WalletUnspent } from '../../../src/unspent';
4
+ export type UtxolibRootWalletKeys = utxolib.bitgo.RootWalletKeys;
5
+ export type WasmRootWalletKeys = wasmUtxo.fixedScriptWallet.RootWalletKeys;
6
+ export type RootWalletKeys = UtxolibRootWalletKeys | WasmRootWalletKeys;
7
+ type ChainCode = utxolib.bitgo.ChainCode;
8
+ /** Accept either a coin name string or a utxolib.Network object */
9
+ export type NetworkArg = string | utxolib.Network;
10
+ export type InputScriptType = utxolib.bitgo.outputScripts.ScriptType2Of3 | 'replayProtection';
11
+ /**
12
+ * Input definition for toUnspent function
13
+ */
14
+ export type Input = {
15
+ scriptType: utxolib.bitgo.outputScripts.ScriptType2Of3 | 'taprootKeyPathSpend';
16
+ value: bigint;
17
+ };
18
+ export declare function mockWalletUnspent<TNumber extends number | bigint = number>(network: NetworkArg, walletKeys: RootWalletKeys, { id, chain, index, value, address }: Partial<WalletUnspent<TNumber>>): WalletUnspent<TNumber>;
19
+ export declare function mockUnspentReplayProtection<TNumber extends number | bigint = number>(network: NetworkArg, value: TNumber): Unspent<TNumber>;
20
+ export declare function mockUnspent<TNumber extends number | bigint = number>(network: NetworkArg, walletKeys: RootWalletKeys, chain: ChainCode | InputScriptType, index: number, value: TNumber): Unspent<TNumber>;
21
+ /**
22
+ * Create unspent object from input script type, index, network and root wallet keys.
23
+ * Supports both utxolib and wasm-utxo RootWalletKeys.
24
+ */
25
+ export declare function toUnspent(input: Input, index: number, network: NetworkArg, rootWalletKeys: RootWalletKeys): WalletUnspent<bigint>;
26
+ /**
27
+ * Wallet unspent with prevTx - combines WalletUnspent and UnspentWithPrevTx
28
+ */
29
+ export interface WalletUnspentWithPrevTx<TNumber extends number | bigint = number> extends WalletUnspent<TNumber>, UnspentWithPrevTx<TNumber> {
30
+ }
31
+ /**
32
+ * Create a mock wallet unspent using wasm-utxo only (no utxolib dependency).
33
+ * Uses createMockPrevTx to generate a realistic txid for the unspent.
34
+ *
35
+ * This is useful for tests that need a valid unspent but don't require the prevTx buffer.
36
+ *
37
+ * @param address - The wallet address for the unspent
38
+ * @param chain - The derivation chain
39
+ * @param index - The derivation index
40
+ * @param value - The value in satoshis (bigint)
41
+ * @param network - The network to get the output script
42
+ * @returns WalletUnspent with a valid txid from a wasm-utxo generated transaction
43
+ */
44
+ export declare function createWasmWalletUnspent<TNumber extends number | bigint = bigint>(address: string, chain: ChainCode, index: number, value: TNumber, network: NetworkArg): WalletUnspent<TNumber>;
45
+ /**
46
+ * Create a mock previous transaction using wasm-utxo's low-level Psbt class.
47
+ *
48
+ * Creates a valid transaction structure with:
49
+ * - A p2wpkh input (segwit, easy to construct)
50
+ * - Outputs including the target output at the specified vout
51
+ * - Reasonable fee rate (input value slightly higher than output sum)
52
+ *
53
+ * @param vout - The output index where the target output should be placed
54
+ * @param outputScript - The scriptPubKey for the target output
55
+ * @param value - The value in satoshis for the target output
56
+ * @returns Object with prevTx buffer and the transaction's txid
57
+ */
58
+ export declare function createMockPrevTx(vout: number, outputScript: Uint8Array, value: bigint): {
59
+ prevTx: Buffer;
60
+ txid: string;
61
+ };
62
+ /**
63
+ * Create unspent with prevTx using wasm-utxo only (no utxolib dependency).
64
+ * The prevTx is built using wasm-utxo's low-level Psbt class.
65
+ *
66
+ * Key: The unspent id uses the actual txid from the generated prevTx,
67
+ * ensuring the MockRecoveryProvider returns the correct prevTx.
68
+ */
69
+ export declare function toUnspentWithPrevTx(input: Input, index: number, network: NetworkArg, rootWalletKeys: WasmRootWalletKeys): WalletUnspentWithPrevTx<bigint>;
70
+ export {};
71
+ //# sourceMappingURL=unspents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unspents.d.ts","sourceRoot":"","sources":["../../../../../test/unit/util/unspents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.mockWalletUnspent = mockWalletUnspent;
37
+ exports.mockUnspentReplayProtection = mockUnspentReplayProtection;
38
+ exports.mockUnspent = mockUnspent;
39
+ exports.toUnspent = toUnspent;
40
+ exports.createWasmWalletUnspent = createWasmWalletUnspent;
41
+ exports.createMockPrevTx = createMockPrevTx;
42
+ exports.toUnspentWithPrevTx = toUnspentWithPrevTx;
43
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
44
+ const sdk_test_1 = require("@bitgo-beta/sdk-test");
45
+ const wasmUtxo = __importStar(require("@bitgo/wasm-utxo"));
46
+ const src_1 = require("../../../src");
47
+ const names_1 = require("../../../src/names");
48
+ const utxoCoins_1 = require("./utxoCoins");
49
+ const address_1 = require("./address");
50
+ const { chainCodesP2sh, getExternalChainCode, getInternalChainCode } = utxolib.bitgo;
51
+ function toCoinName(network) {
52
+ if (typeof network === 'string') {
53
+ if (!(0, names_1.isUtxoCoinName)(network)) {
54
+ throw new Error(`not a valid coin name: ${network}`);
55
+ }
56
+ return network;
57
+ }
58
+ return (0, utxoCoins_1.getCoinNameForNetwork)(network);
59
+ }
60
+ const defaultChain = getExternalChainCode(chainCodesP2sh);
61
+ function mockOutputIdForAddress(address) {
62
+ return (0, sdk_test_1.getSeed)(address).toString('hex') + ':1';
63
+ }
64
+ function mockWalletUnspent(network, walletKeys, { id, chain = defaultChain, index = 0, value, address }) {
65
+ if (value === undefined) {
66
+ throw new Error(`unspent value must be set`);
67
+ }
68
+ if (chain === undefined) {
69
+ throw new Error(`unspent chain must be set`);
70
+ }
71
+ const deriveAddress = (0, address_1.getWalletAddress)(toCoinName(network), walletKeys, chain, index);
72
+ if (address) {
73
+ if (address !== deriveAddress) {
74
+ throw new Error(`derivedAddress mismatch: ${address} derived=${deriveAddress}`);
75
+ }
76
+ }
77
+ else {
78
+ address = deriveAddress;
79
+ }
80
+ if (!id) {
81
+ id = mockOutputIdForAddress(address);
82
+ }
83
+ return {
84
+ id,
85
+ address,
86
+ chain,
87
+ index,
88
+ value,
89
+ };
90
+ }
91
+ function mockUnspentReplayProtection(network, value) {
92
+ const coinName = toCoinName(network);
93
+ const addresses = (0, src_1.getReplayProtectionAddresses)(coinName);
94
+ if (addresses.length) {
95
+ const address = addresses[0];
96
+ return {
97
+ id: mockOutputIdForAddress(address),
98
+ address,
99
+ value,
100
+ };
101
+ }
102
+ throw new Error(`${coinName} has no replay protection unspents`);
103
+ }
104
+ function mockUnspent(network, walletKeys, chain, index, value) {
105
+ if (chain === 'replayProtection') {
106
+ return mockUnspentReplayProtection(network, (typeof value === 'bigint' ? BigInt(1000) : 1000));
107
+ }
108
+ else {
109
+ return mockWalletUnspent(network, walletKeys, { chain: getInternalChainCode(chain), value, index });
110
+ }
111
+ }
112
+ /**
113
+ * Create unspent object from input script type, index, network and root wallet keys.
114
+ * Supports both utxolib and wasm-utxo RootWalletKeys.
115
+ */
116
+ function toUnspent(input, index, network, rootWalletKeys) {
117
+ const scriptType = input.scriptType === 'taprootKeyPathSpend' ? 'p2trMusig2' : input.scriptType;
118
+ const chain = getInternalChainCode(scriptType);
119
+ return mockWalletUnspent(network, rootWalletKeys, {
120
+ chain,
121
+ index,
122
+ value: input.value,
123
+ });
124
+ }
125
+ /**
126
+ * Create a mock wallet unspent using wasm-utxo only (no utxolib dependency).
127
+ * Uses createMockPrevTx to generate a realistic txid for the unspent.
128
+ *
129
+ * This is useful for tests that need a valid unspent but don't require the prevTx buffer.
130
+ *
131
+ * @param address - The wallet address for the unspent
132
+ * @param chain - The derivation chain
133
+ * @param index - The derivation index
134
+ * @param value - The value in satoshis (bigint)
135
+ * @param network - The network to get the output script
136
+ * @returns WalletUnspent with a valid txid from a wasm-utxo generated transaction
137
+ */
138
+ function createWasmWalletUnspent(address, chain, index, value, network) {
139
+ // Get output script from address using correct wasm-utxo function
140
+ const outputScript = wasmUtxo.address.toOutputScriptWithCoin(address, toCoinName(network));
141
+ // Create a mock transaction with output at vout=0
142
+ const { txid } = createMockPrevTx(0, outputScript, BigInt(value));
143
+ return {
144
+ id: `${txid}:0`,
145
+ address,
146
+ chain,
147
+ index,
148
+ value,
149
+ };
150
+ }
151
+ /**
152
+ * Create a mock previous transaction using wasm-utxo's low-level Psbt class.
153
+ *
154
+ * Creates a valid transaction structure with:
155
+ * - A p2wpkh input (segwit, easy to construct)
156
+ * - Outputs including the target output at the specified vout
157
+ * - Reasonable fee rate (input value slightly higher than output sum)
158
+ *
159
+ * @param vout - The output index where the target output should be placed
160
+ * @param outputScript - The scriptPubKey for the target output
161
+ * @param value - The value in satoshis for the target output
162
+ * @returns Object with prevTx buffer and the transaction's txid
163
+ */
164
+ function createMockPrevTx(vout, outputScript, value) {
165
+ // Create a p2wpkh script for the dummy input
166
+ // p2wpkh: OP_0 <20-byte-hash> - we use a deterministic hash
167
+ const dummyHash = (0, sdk_test_1.getSeed)('mock-prev-tx-input').subarray(0, 20);
168
+ const p2wpkhScript = new Uint8Array([0x00, 0x14, ...dummyHash]);
169
+ // Calculate total output value
170
+ const dummyOutputValue = BigInt(1000); // 1000 satoshis per dummy output
171
+ const totalOutputValue = dummyOutputValue * BigInt(vout) + value;
172
+ // Input value = output value + small fee (1000 sat - reasonable fee)
173
+ const inputValue = totalOutputValue + BigInt(1000);
174
+ // Create PSBT using WrapPsbt (exported as Psbt)
175
+ const psbt = new wasmUtxo.Psbt(2, 0);
176
+ // Add dummy segwit input - p2wpkh
177
+ psbt.addInput('01'.repeat(32), // non-zero txid to avoid coinbase detection
178
+ 0, inputValue, p2wpkhScript);
179
+ // Add dummy outputs before the target vout
180
+ for (let i = 0; i < vout; i++) {
181
+ psbt.addOutput(p2wpkhScript, dummyOutputValue);
182
+ }
183
+ // Add the target output at the specified vout
184
+ psbt.addOutput(outputScript, value);
185
+ // Get the unsigned transaction bytes
186
+ // Note: This is a valid transaction structure without signatures
187
+ // For prevTx purposes, we just need the output scripts and values
188
+ const txBytes = psbt.getUnsignedTx();
189
+ // Parse with wasm-utxo Transaction to get the txid
190
+ const tx = wasmUtxo.Transaction.fromBytes(txBytes);
191
+ const txid = tx.getId();
192
+ return {
193
+ prevTx: Buffer.from(txBytes),
194
+ txid,
195
+ };
196
+ }
197
+ /**
198
+ * Create unspent with prevTx using wasm-utxo only (no utxolib dependency).
199
+ * The prevTx is built using wasm-utxo's low-level Psbt class.
200
+ *
201
+ * Key: The unspent id uses the actual txid from the generated prevTx,
202
+ * ensuring the MockRecoveryProvider returns the correct prevTx.
203
+ */
204
+ function toUnspentWithPrevTx(input, index, network, rootWalletKeys) {
205
+ const scriptType = input.scriptType === 'taprootKeyPathSpend' ? 'p2trMusig2' : input.scriptType;
206
+ const chain = getInternalChainCode(scriptType);
207
+ const coinName = toCoinName(network);
208
+ // Get the output script for the wallet address
209
+ const outputScript = wasmUtxo.fixedScriptWallet.outputScript(rootWalletKeys, chain, index, coinName);
210
+ // Create mock prevTx with output at vout=0
211
+ const { prevTx, txid } = createMockPrevTx(0, outputScript, input.value);
212
+ // Get the wallet address
213
+ const address = (0, address_1.getWalletAddress)(toCoinName(network), rootWalletKeys, chain, index);
214
+ // Use the actual txid from the prevTx in the unspent id
215
+ return {
216
+ id: `${txid}:0`,
217
+ address,
218
+ chain,
219
+ index,
220
+ value: input.value,
221
+ prevTx,
222
+ };
223
+ }
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zcGVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdXRpbC91bnNwZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQStDQSw4Q0E2QkM7QUFFRCxrRUFlQztBQUVELGtDQVlDO0FBTUQsOEJBYUM7QUFzQkQsMERBb0JDO0FBZUQsNENBaURDO0FBU0Qsa0RBNEJDO0FBN1FELDhEQUFnRDtBQUNoRCxtREFBK0M7QUFDL0MsMkRBQTZDO0FBRTdDLHNDQUE0RDtBQUM1RCw4Q0FBdUU7QUFHdkUsMkNBQW9EO0FBQ3BELHVDQUE2QztBQUU3QyxNQUFNLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztBQVVyRixTQUFTLFVBQVUsQ0FBQyxPQUFtQjtJQUNyQyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFBLHNCQUFjLEVBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsT0FBTyxJQUFBLGlDQUFxQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFZRCxNQUFNLFlBQVksR0FBYyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUVyRSxTQUFTLHNCQUFzQixDQUFDLE9BQWU7SUFDN0MsT0FBTyxJQUFBLGtCQUFPLEVBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNqRCxDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLE9BQW1CLEVBQ25CLFVBQTBCLEVBQzFCLEVBQUUsRUFB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Q2hHLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVyQywrQ0FBK0M7SUFDL0MsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVyRywyQ0FBMkM7SUFDM0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV4RSx5QkFBeUI7SUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBQSwwQkFBZ0IsRUFBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVwRix3REFBd0Q7SUFDeEQsT0FBTztRQUNMLEVBQUUsRUFBRSxHQUFHLElBQUksSUFBSTtRQUNmLE9BQU87UUFDUCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztRQUNsQixNQUFNO0tBQ1AsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IGdldFNlZWQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstdGVzdCc7XG5pbXBvcnQgKiBhcyB3YXNtVXR4byBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgZ2V0UmVwbGF5UHJvdGVjdGlvbkFkZHJlc3NlcyB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBpc1V0eG9Db2luTmFtZSwgdHlwZSBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi8uLi9zcmMvbmFtZXMnO1xuaW1wb3J0IHR5cGUgeyBVbnNwZW50LCBVbnNwZW50V2l0aFByZXZUeCwgV2FsbGV0VW5zcGVudCB9IGZyb20gJy4uLy4uLy4uL3NyYy91bnNwZW50JztcblxuaW1wb3J0IHsgZ2V0Q29pbk5hbWVGb3JOZXR3b3JrIH0gZnJvbSAnLi91dHhvQ29pbnMnO1xuaW1wb3J0IHsgZ2V0V2FsbGV0QWRkcmVzcyB9IGZyb20gJy4vYWRkcmVzcyc7XG5cbmNvbnN0IHsgY2hhaW5Db2Rlc1Ayc2gsIGdldEV4dGVybmFsQ2hhaW5Db2RlLCBnZXRJbnRlcm5hbENoYWluQ29kZSB9ID0gdXR4b2xpYi5iaXRnbztcblxuZXhwb3J0IHR5cGUgVXR4b2xpYlJvb3RXYWxsZXRLZXlzID0gdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cztcbmV4cG9ydCB0eXBlIFdhc21Sb290V2FsbGV0S2V5cyA9IHdhc21VdHhvLmZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzO1xuZXhwb3J0IHR5cGUgUm9vdFdhbGxldEtleXMgPSBVdHhvbGliUm9vdFdhbGxldEtleXMgfCBXYXNtUm9vdFdhbGxldEtleXM7XG50eXBlIENoYWluQ29kZSA9IHV0eG9saWIuYml0Z28uQ2hhaW5Db2RlO1xuXG4vKiogQWNjZXB0IGVpdGhlciBhIGNvaW4gbmFtZSBzdHJpbmcgb3IgYSB1dHhvbGliLk5ldHdvcmsgb2JqZWN0ICovXG5leHBvcnQgdHlwZSBOZXR3b3JrQXJnID0gc3RyaW5nIHwgdXR4b2xpYi5OZXR3b3JrO1xuXG5mdW5jdGlvbiB0b0NvaW5OYW1lKG5ldHdvcms6IE5ldHdvcmtBcmcpOiBVdHhvQ29pbk5hbWUge1xuICBpZiAodHlwZW9mIG5ldHdvcmsgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKCFpc1V0eG9Db2luTmFtZShuZXR3b3JrKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBub3QgYSB2YWxpZCBjb2luIG5hbWU6ICR7bmV0d29ya31gKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldHdvcms7XG4gIH1cbiAgcmV0dXJuIGdldENvaW5OYW1lRm9yTmV0d29yayhuZXR3b3JrKTtcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRTY3JpcHRUeXBlID0gdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzIHwgJ3JlcGxheVByb3RlY3Rpb24nO1xuXG4vKipcbiAqIElucHV0IGRlZmluaXRpb24gZm9yIHRvVW5zcGVudCBmdW5jdGlvblxuICovXG5leHBvcnQgdHlwZSBJbnB1dCA9IHtcbiAgc2NyaXB0VHlwZTogdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzIHwgJ3RhcHJvb3RLZXlQYXRoU3BlbmQnO1xuICB2YWx1ZTogYmlnaW50O1xufTtcblxuY29uc3QgZGVmYXVsdENoYWluOiBDaGFpbkNvZGUgPSBnZXRFeHRlcm5hbENoYWluQ29kZShjaGFpbkNvZGVzUDJzaCk7XG5cbmZ1bmN0aW9uIG1vY2tPdXRwdXRJZEZvckFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gIHJldHVybiBnZXRTZWVkKGFkZHJlc3MpLnRvU3RyaW5nKCdoZXgnKSArICc6MSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrV2FsbGV0VW5zcGVudDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgbmV0d29yazogTmV0d29ya0FyZyxcbiAgd2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHsgaWQsIGNoYWluID0gZGVmYXVsdENoYWluLCBpbmRleCA9IDAsIHZhbHVlLCBhZGRyZXNzIH06IFBhcnRpYWw8V2FsbGV0VW5zcGVudDxUTnVtYmVyPj5cbik6IFdhbGxldFVuc3BlbnQ8VE51bWJlcj4ge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgdW5zcGVudCB2YWx1ZSBtdXN0IGJlIHNldGApO1xuICB9XG4gIGlmIChjaGFpbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB1bnNwZW50IGNoYWluIG11c3QgYmUgc2V0YCk7XG4gIH1cbiAgY29uc3QgZGVyaXZlQWRkcmVzcyA9IGdldFdhbGxldEFkZHJlc3ModG9Db2luTmFtZShuZXR3b3JrKSwgd2FsbGV0S2V5cywgY2hhaW4sIGluZGV4KTtcbiAgaWYgKGFkZHJlc3MpIHtcbiAgICBpZiAoYWRkcmVzcyAhPT0gZGVyaXZlQWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBkZXJpdmVkQWRkcmVzcyBtaXNtYXRjaDogJHthZGRyZXNzfSBkZXJpdmVkPSR7ZGVyaXZlQWRkcmVzc31gKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYWRkcmVzcyA9IGRlcml2ZUFkZHJlc3M7XG4gIH1cbiAgaWYgKCFpZCkge1xuICAgIGlkID0gbW9ja091dHB1dElkRm9yQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGlkLFxuICAgIGFkZHJlc3MsXG4gICAgY2hhaW4sXG4gICAgaW5kZXgsXG4gICAgdmFsdWUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrVW5zcGVudFJlcGxheVByb3RlY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gIG5ldHdvcms6IE5ldHdvcmtBcmcsXG4gIHZhbHVlOiBUTnVtYmVyXG4pOiBVbnNwZW50PFROdW1iZXI+IHtcbiAgY29uc3QgY29pbk5hbWUgPSB0b0NvaW5OYW1lKG5ldHdvcmspO1xuICBjb25zdCBhZGRyZXNzZXMgPSBnZXRSZXBsYXlQcm90ZWN0aW9uQWRkcmVzc2VzKGNvaW5OYW1lKTtcbiAgaWYgKGFkZHJlc3Nlcy5sZW5ndGgpIHtcbiAgICBjb25zdCBhZGRyZXNzID0gYWRkcmVzc2VzWzBdO1xuICAgIHJldHVybiB7XG4gICAgICBpZDogbW9ja091dHB1dElkRm9yQWRkcmVzcyhhZGRyZXNzKSxcbiAgICAgIGFkZHJlc3MsXG4gICAgICB2YWx1ZSxcbiAgICB9O1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgJHtjb2luTmFtZX0gaGFzIG5vIHJlcGxheSBwcm90ZWN0aW9uIHVuc3BlbnRzYCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrVW5zcGVudDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgbmV0d29yazogTmV0d29ya0FyZyxcbiAgd2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIGNoYWluOiBDaGFpbkNvZGUgfCBJbnB1dFNjcmlwdFR5cGUsXG4gIGluZGV4OiBudW1iZXIsXG4gIHZhbHVlOiBUTnVtYmVyXG4pOiBVbnNwZW50PFROdW1iZXI+IHtcbiAgaWYgKGNoYWluID09PSAncmVwbGF5UHJvdGVjdGlvbicpIHtcbiAgICByZXR1cm4gbW9ja1Vuc3BlbnRSZXBsYXlQcm90ZWN0aW9uKG5ldHdvcmssICh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnID8gQmlnSW50KDEwMDApIDogMTAwMCkgYXMgVE51bWJlcik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG1vY2tXYWxsZXRVbnNwZW50KG5ldHdvcmssIHdhbGxldEtleXMsIHsgY2hhaW46IGdldEludGVybmFsQ2hhaW5Db2RlKGNoYWluKSwgdmFsdWUsIGluZGV4IH0pO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlIHVuc3BlbnQgb2JqZWN0IGZyb20gaW5wdXQgc2NyaXB0IHR5cGUsIGluZGV4LCBuZXR3b3JrIGFuZCByb290IHdhbGxldCBrZXlzLlxuICogU3VwcG9ydHMgYm90aCB1dHhvbGliIGFuZCB3YXNtLXV0eG8gUm9vdFdhbGxldEtleXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Vuc3BlbnQoXG4gIGlucHV0OiBJbnB1dCxcbiAgaW5kZXg6IG51bWJlcixcbiAgbmV0d29yazogTmV0d29ya0FyZyxcbiAgcm9vdFdhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzXG4pOiBXYWxsZXRVbnNwZW50PGJpZ2ludD4ge1xuICBjb25zdCBzY3JpcHRUeXBlID0gaW5wdXQuc2NyaXB0VHlwZSA9PT0gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnID8gJ3AydHJNdXNpZzInIDogaW5wdXQuc2NyaXB0VHlwZTtcbiAgY29uc3QgY2hhaW4gPSBnZXRJbnRlcm5hbENoYWluQ29kZShzY3JpcHRUeXBlKTtcbiAgcmV0dXJuIG1vY2tXYWxsZXRVbnNwZW50KG5ldHdvcmssIHJvb3RXYWxsZXRLZXlzLCB7XG4gICAgY2hhaW4sXG4gICAgaW5kZXgsXG4gICAgdmFsdWU6IGlucHV0LnZhbHVlLFxuICB9KTtcbn1cblxuLyoqXG4gKiBXYWxsZXQgdW5zcGVudCB3aXRoIHByZXZUeCAtIGNvbWJpbmVzIFdhbGxldFVuc3BlbnQgYW5kIFVuc3BlbnRXaXRoUHJldlR4XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0VW5zcGVudFdpdGhQcmV2VHg8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj5cbiAgZXh0ZW5kcyBXYWxsZXRVbnNwZW50PFROdW1iZXI+LFxuICAgIFVuc3BlbnRXaXRoUHJldlR4PFROdW1iZXI+IHt9XG5cbi8qKlxuICogQ3JlYXRlIGEgbW9jayB3YWxsZXQgdW5zcGVudCB1c2luZyB3YXNtLXV0eG8gb25seSAobm8gdXR4b2xpYiBkZXBlbmRlbmN5KS5cbiAqIFVzZXMgY3JlYXRlTW9ja1ByZXZUeCB0byBnZW5lcmF0ZSBhIHJlYWxpc3RpYyB0eGlkIGZvciB0aGUgdW5zcGVudC5cbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCBmb3IgdGVzdHMgdGhhdCBuZWVkIGEgdmFsaWQgdW5zcGVudCBidXQgZG9uJ3QgcmVxdWlyZSB0aGUgcHJldlR4IGJ1ZmZlci5cbiAqXG4gKiBAcGFyYW0gYWRkcmVzcyAtIFRoZSB3YWxsZXQgYWRkcmVzcyBmb3IgdGhlIHVuc3BlbnRcbiAqIEBwYXJhbSBjaGFpbiAtIFRoZSBkZXJpdmF0aW9uIGNoYWluXG4gKiBAcGFyYW0gaW5kZXggLSBUaGUgZGVyaXZhdGlvbiBpbmRleFxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIGluIHNhdG9zaGlzIChiaWdpbnQpXG4gKiBAcGFyYW0gbmV0d29yayAtIFRoZSBuZXR3b3JrIHRvIGdldCB0aGUgb3V0cHV0IHNjcmlwdFxuICogQHJldHVybnMgV2FsbGV0VW5zcGVudCB3aXRoIGEgdmFsaWQgdHhpZCBmcm9tIGEgd2FzbS11dHhvIGdlbmVyYXRlZCB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlV2FzbVdhbGxldFVuc3BlbnQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IGJpZ2ludD4oXG4gIGFkZHJlc3M6IHN0cmluZyxcbiAgY2hhaW46IENoYWluQ29kZSxcbiAgaW5kZXg6IG51bWJlcixcbiAgdmFsdWU6IFROdW1iZXIsXG4gIG5ldHdvcms6IE5ldHdvcmtBcmdcbik6IFdhbGxldFVuc3BlbnQ8VE51bWJlcj4ge1xuICAvLyBHZXQgb3V0cHV0IHNjcmlwdCBmcm9tIGFkZHJlc3MgdXNpbmcgY29ycmVjdCB3YXNtLXV0eG8gZnVuY3Rpb25cbiAgY29uc3Qgb3V0cHV0U2NyaXB0ID0gd2FzbVV0eG8uYWRkcmVzcy50b091dHB1dFNjcmlwdFdpdGhDb2luKGFkZHJlc3MsIHRvQ29pbk5hbWUobmV0d29yaykpO1xuXG4gIC8vIENyZWF0ZSBhIG1vY2sgdHJhbnNhY3Rpb24gd2l0aCBvdXRwdXQgYXQgdm91dD0wXG4gIGNvbnN0IHsgdHhpZCB9ID0gY3JlYXRlTW9ja1ByZXZUeCgwLCBvdXRwdXRTY3JpcHQsIEJpZ0ludCh2YWx1ZSkpO1xuXG4gIHJldHVybiB7XG4gICAgaWQ6IGAke3R4aWR9OjBgLFxuICAgIGFkZHJlc3MsXG4gICAgY2hhaW4sXG4gICAgaW5kZXgsXG4gICAgdmFsdWUsXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgbW9jayBwcmV2aW91cyB0cmFuc2FjdGlvbiB1c2luZyB3YXNtLXV0eG8ncyBsb3ctbGV2ZWwgUHNidCBjbGFzcy5cbiAqXG4gKiBDcmVhdGVzIGEgdmFsaWQgdHJhbnNhY3Rpb24gc3RydWN0dXJlIHdpdGg6XG4gKiAtIEEgcDJ3cGtoIGlucHV0IChzZWd3aXQsIGVhc3kgdG8gY29uc3RydWN0KVxuICogLSBPdXRwdXRzIGluY2x1ZGluZyB0aGUgdGFyZ2V0IG91dHB1dCBhdCB0aGUgc3BlY2lmaWVkIHZvdXRcbiAqIC0gUmVhc29uYWJsZSBmZWUgcmF0ZSAoaW5wdXQgdmFsdWUgc2xpZ2h0bHkgaGlnaGVyIHRoYW4gb3V0cHV0IHN1bSlcbiAqXG4gKiBAcGFyYW0gdm91dCAtIFRoZSBvdXRwdXQgaW5kZXggd2hlcmUgdGhlIHRhcmdldCBvdXRwdXQgc2hvdWxkIGJlIHBsYWNlZFxuICogQHBhcmFtIG91dHB1dFNjcmlwdCAtIFRoZSBzY3JpcHRQdWJLZXkgZm9yIHRoZSB0YXJnZXQgb3V0cHV0XG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgaW4gc2F0b3NoaXMgZm9yIHRoZSB0YXJnZXQgb3V0cHV0XG4gKiBAcmV0dXJucyBPYmplY3Qgd2l0aCBwcmV2VHggYnVmZmVyIGFuZCB0aGUgdHJhbnNhY3Rpb24ncyB0eGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrUHJldlR4KFxuICB2b3V0OiBudW1iZXIsXG4gIG91dHB1dFNjcmlwdDogVWludDhBcnJheSxcbiAgdmFsdWU6IGJpZ2ludFxuKTogeyBwcmV2VHg6IEJ1ZmZlcjsgdHhpZDogc3RyaW5nIH0ge1xuICAvLyBDcmVhdGUgYSBwMndwa2ggc2NyaXB0IGZvciB0aGUgZHVtbXkgaW5wdXRcbiAgLy8gcDJ3cGtoOiBPUF8wIDwyMC1ieXRlLWhhc2g+IC0gd2UgdXNlIGEgZGV0ZXJtaW5pc3RpYyBoYXNoXG4gIGNvbnN0IGR1bW15SGFzaCA9IGdldFNlZWQoJ21vY2stcHJldi10eC1pbnB1dCcpLnN1YmFycmF5KDAsIDIwKTtcbiAgY29uc3QgcDJ3cGtoU2NyaXB0ID0gbmV3IFVpbnQ4QXJyYXkoWzB4MDAsIDB4MTQsIC4uLmR1bW15SGFzaF0pO1xuXG4gIC8vIENhbGN1bGF0ZSB0b3RhbCBvdXRwdXQgdmFsdWVcbiAgY29uc3QgZHVtbXlPdXRwdXRWYWx1ZSA9IEJpZ0ludCgxMDAwKTsgLy8gMTAwMCBzYXRvc2hpcyBwZXIgZHVtbXkgb3V0cHV0XG4gIGNvbnN0IHRvdGFsT3V0cHV0VmFsdWUgPSBkdW1teU91dHB1dFZhbHVlICogQmlnSW50KHZvdXQpICsgdmFsdWU7XG5cbiAgLy8gSW5wdXQgdmFsdWUgPSBvdXRwdXQgdmFsdWUgKyBzbWFsbCBmZWUgKDEwMDAgc2F0IC0gcmVhc29uYWJsZSBmZWUpXG4gIGNvbnN0IGlucHV0VmFsdWUgPSB0b3RhbE91dHB1dFZhbHVlICsgQmlnSW50KDEwMDApO1xuXG4gIC8vIENyZWF0ZSBQU0JUIHVzaW5nIFdyYXBQc2J0IChleHBvcnRlZCBhcyBQc2J0KVxuICBjb25zdCBwc2J0ID0gbmV3IHdhc21VdHhvLlBzYnQoMiwgMCk7XG5cbiAgLy8gQWRkIGR1bW15IHNlZ3dpdCBpbnB1dCAtIHAyd3BraFxuICBwc2J0LmFkZElucHV0KFxuICAgICcwMScucmVwZWF0KDMyKSwgLy8gbm9uLXplcm8gdHhpZCB0byBhdm9pZCBjb2luYmFzZSBkZXRlY3Rpb25cbiAgICAwLFxuICAgIGlucHV0VmFsdWUsXG4gICAgcDJ3cGtoU2NyaXB0XG4gICk7XG5cbiAgLy8gQWRkIGR1bW15IG91dHB1dHMgYmVmb3JlIHRoZSB0YXJnZXQgdm91dFxuICBmb3IgKGxldCBpID0gMDsgaSA8IHZvdXQ7IGkrKykge1xuICAgIHBzYnQuYWRkT3V0cHV0KHAyd3BraFNjcmlwdCwgZHVtbXlPdXRwdXRWYWx1ZSk7XG4gIH1cblxuICAvLyBBZGQgdGhlIHRhcmdldCBvdXRwdXQgYXQgdGhlIHNwZWNpZmllZCB2b3V0XG4gIHBzYnQuYWRkT3V0cHV0KG91dHB1dFNjcmlwdCwgdmFsdWUpO1xuXG4gIC8vIEdldCB0aGUgdW5zaWduZWQgdHJhbnNhY3Rpb24gYnl0ZXNcbiAgLy8gTm90ZTogVGhpcyBpcyBhIHZhbGlkIHRyYW5zYWN0aW9uIHN0cnVjdHVyZSB3aXRob3V0IHNpZ25hdHVyZXNcbiAgLy8gRm9yIHByZXZUeCBwdXJwb3Nlcywgd2UganVzdCBuZWVkIHRoZSBvdXRwdXQgc2NyaXB0cyBhbmQgdmFsdWVzXG4gIGNvbnN0IHR4Qnl0ZXMgPSBwc2J0LmdldFVuc2lnbmVkVHgoKTtcblxuICAvLyBQYXJzZSB3aXRoIHdhc20tdXR4byBUcmFuc2FjdGlvbiB0byBnZXQgdGhlIHR4aWRcbiAgY29uc3QgdHggPSB3YXNtVXR4by5UcmFuc2FjdGlvbi5mcm9tQnl0ZXModHhCeXRlcyk7XG4gIGNvbnN0IHR4aWQgPSB0eC5nZXRJZCgpO1xuXG4gIHJldHVybiB7XG4gICAgcHJldlR4OiBCdWZmZXIuZnJvbSh0eEJ5dGVzKSxcbiAgICB0eGlkLFxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZSB1bnNwZW50IHdpdGggcHJldlR4IHVzaW5nIHdhc20tdXR4byBvbmx5IChubyB1dHhvbGliIGRlcGVuZGVuY3kpLlxuICogVGhlIHByZXZUeCBpcyBidWlsdCB1c2luZyB3YXNtLXV0eG8ncyBsb3ctbGV2ZWwgUHNidCBjbGFzcy5cbiAqXG4gKiBLZXk6IFRoZSB1bnNwZW50IGlkIHVzZXMgdGhlIGFjdHVhbCB0eGlkIGZyb20gdGhlIGdlbmVyYXRlZCBwcmV2VHgsXG4gKiBlbnN1cmluZyB0aGUgTW9ja1JlY292ZXJ5UHJvdmlkZXIgcmV0dXJucyB0aGUgY29ycmVjdCBwcmV2VHguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Vuc3BlbnRXaXRoUHJldlR4KFxuICBpbnB1dDogSW5wdXQsXG4gIGluZGV4OiBudW1iZXIsXG4gIG5ldHdvcms6IE5ldHdvcmtBcmcsXG4gIHJvb3RXYWxsZXRLZXlzOiBXYXNtUm9vdFdhbGxldEtleXNcbik6IFdhbGxldFVuc3BlbnRXaXRoUHJldlR4PGJpZ2ludD4ge1xuICBjb25zdCBzY3JpcHRUeXBlID0gaW5wdXQuc2NyaXB0VHlwZSA9PT0gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnID8gJ3AydHJNdXNpZzInIDogaW5wdXQuc2NyaXB0VHlwZTtcbiAgY29uc3QgY2hhaW4gPSBnZXRJbnRlcm5hbENoYWluQ29kZShzY3JpcHRUeXBlKTtcbiAgY29uc3QgY29pbk5hbWUgPSB0b0NvaW5OYW1lKG5ldHdvcmspO1xuXG4gIC8vIEdldCB0aGUgb3V0cHV0IHNjcmlwdCBmb3IgdGhlIHdhbGxldCBhZGRyZXNzXG4gIGNvbnN0IG91dHB1dFNjcmlwdCA9IHdhc21VdHhvLmZpeGVkU2NyaXB0V2FsbGV0Lm91dHB1dFNjcmlwdChyb290V2FsbGV0S2V5cywgY2hhaW4sIGluZGV4LCBjb2luTmFtZSk7XG5cbiAgLy8gQ3JlYXRlIG1vY2sgcHJldlR4IHdpdGggb3V0cHV0IGF0IHZvdXQ9MFxuICBjb25zdCB7IHByZXZUeCwgdHhpZCB9ID0gY3JlYXRlTW9ja1ByZXZUeCgwLCBvdXRwdXRTY3JpcHQsIGlucHV0LnZhbHVlKTtcblxuICAvLyBHZXQgdGhlIHdhbGxldCBhZGRyZXNzXG4gIGNvbnN0IGFkZHJlc3MgPSBnZXRXYWxsZXRBZGRyZXNzKHRvQ29pbk5hbWUobmV0d29yayksIHJvb3RXYWxsZXRLZXlzLCBjaGFpbiwgaW5kZXgpO1xuXG4gIC8vIFVzZSB0aGUgYWN0dWFsIHR4aWQgZnJvbSB0aGUgcHJldlR4IGluIHRoZSB1bnNwZW50IGlkXG4gIHJldHVybiB7XG4gICAgaWQ6IGAke3R4aWR9OjBgLFxuICAgIGFkZHJlc3MsXG4gICAgY2hhaW4sXG4gICAgaW5kZXgsXG4gICAgdmFsdWU6IGlucHV0LnZhbHVlLFxuICAgIHByZXZUeCxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { BitGoAPI } from '@bitgo-beta/sdk-api';
3
+ import { AbstractUtxoCoin } from '../../../src';
4
+ import type { UtxoCoinName } from '../../../src/names';
5
+ export declare const defaultBitGo: import("@bitgo-beta/sdk-test").TestableBG & BitGoAPI;
6
+ /**
7
+ * Get utxolib Network for a coin name. For test infrastructure only.
8
+ */
9
+ export declare function getNetworkForCoinName(coinName: string): utxolib.Network;
10
+ /**
11
+ * Get coin name for a utxolib Network. For test infrastructure only.
12
+ */
13
+ export declare function getCoinNameForNetwork(network: utxolib.Network): UtxoCoinName;
14
+ export declare const utxoCoins: AbstractUtxoCoin[];
15
+ /**
16
+ * Minimal subset of coins for comprehensive test coverage.
17
+ * - btc: Full feature set (segwit, taproot, musig2)
18
+ * - bch: replay protection addresses
19
+ * - zec: special transaction format (Overwinter/Sapling)
20
+ */
21
+ export declare const minUtxoCoinNames: readonly ["btc", "bch", "zec"];
22
+ /**
23
+ * Get minimal set of coins for testing. Covers ~99% of feature paths.
24
+ */
25
+ export declare function getMinUtxoCoins(): AbstractUtxoCoin[];
26
+ export declare function getUtxoCoin(name: string): AbstractUtxoCoin;
27
+ export declare function getUtxoCoinForNetwork(n: utxolib.Network): AbstractUtxoCoin;
28
+ export type TxFormat = 'legacy' | 'psbt';
29
+ export declare function getScriptTypes(coin: AbstractUtxoCoin, txFormat: TxFormat): utxolib.testutil.InputScriptType[];
30
+ //# sourceMappingURL=utxoCoins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utxoCoins.d.ts","sourceRoot":"","sources":["../../../../../test/unit/util/utxoCoins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EACL,gBAAgB,EAsBjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,YAAY,sDAAgD,CAAC;AA0B1E;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAMvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAO5E;AAwCD,eAAO,MAAM,SAAS,oBAAiB,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,gCAAiC,CAAC;AAE/D;;GAEG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAEpD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAO1D;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAO1E;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzC,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,CAiB7G"}