@bitgo-beta/utxo-core 1.0.1-alpha.2 → 1.0.1-alpha.200

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 (352) hide show
  1. package/dist/cjs/src/Output.d.ts +43 -0
  2. package/dist/cjs/src/Output.d.ts.map +1 -0
  3. package/dist/cjs/src/Output.js +60 -0
  4. package/dist/cjs/src/bip322/index.d.ts +5 -0
  5. package/dist/cjs/src/bip322/index.d.ts.map +1 -0
  6. package/dist/cjs/src/bip322/index.js +21 -0
  7. package/dist/cjs/src/bip322/toSign.d.ts +25 -0
  8. package/dist/cjs/src/bip322/toSign.d.ts.map +1 -0
  9. package/dist/cjs/src/bip322/toSign.js +125 -0
  10. package/dist/cjs/src/bip322/toSpend.d.ts +22 -0
  11. package/dist/cjs/src/bip322/toSpend.d.ts.map +1 -0
  12. package/dist/cjs/src/bip322/toSpend.js +72 -0
  13. package/dist/cjs/src/bip322/utils.d.ts +18 -0
  14. package/dist/cjs/src/bip322/utils.d.ts.map +1 -0
  15. package/dist/cjs/src/bip322/utils.js +115 -0
  16. package/dist/cjs/src/bip322/verify.d.ts +12 -0
  17. package/dist/cjs/src/bip322/verify.d.ts.map +1 -0
  18. package/dist/cjs/src/bip322/verify.js +113 -0
  19. package/dist/cjs/src/bip32utils.d.ts +12 -0
  20. package/dist/cjs/src/bip32utils.d.ts.map +1 -0
  21. package/dist/cjs/src/bip32utils.js +15 -0
  22. package/dist/cjs/src/bip65/index.d.ts +2 -0
  23. package/dist/cjs/src/bip65/index.d.ts.map +1 -0
  24. package/dist/{src/testutil → cjs/src/bip65}/index.js +2 -4
  25. package/dist/cjs/src/bip65/locktime.d.ts +8 -0
  26. package/dist/cjs/src/bip65/locktime.d.ts.map +1 -0
  27. package/dist/cjs/src/bip65/locktime.js +37 -0
  28. package/dist/{src → cjs/src}/descriptor/DescriptorMap.d.ts +1 -1
  29. package/dist/cjs/src/descriptor/DescriptorMap.d.ts.map +1 -0
  30. package/dist/cjs/src/descriptor/DescriptorMap.js +9 -0
  31. package/dist/cjs/src/descriptor/Output.d.ts +23 -0
  32. package/dist/cjs/src/descriptor/Output.d.ts.map +1 -0
  33. package/dist/cjs/src/descriptor/Output.js +41 -0
  34. package/dist/{src → cjs/src}/descriptor/VirtualSize.d.ts +3 -1
  35. package/dist/cjs/src/descriptor/VirtualSize.d.ts.map +1 -0
  36. package/dist/cjs/src/descriptor/VirtualSize.js +100 -0
  37. package/dist/{src → cjs/src}/descriptor/address.d.ts +2 -2
  38. package/dist/cjs/src/descriptor/address.d.ts.map +1 -0
  39. package/dist/{src → cjs/src}/descriptor/address.js +2 -2
  40. package/dist/cjs/src/descriptor/derive.d.ts +13 -0
  41. package/dist/cjs/src/descriptor/derive.d.ts.map +1 -0
  42. package/dist/cjs/src/descriptor/derive.js +45 -0
  43. package/dist/cjs/src/descriptor/fromFixedScriptWallet.d.ts +16 -0
  44. package/dist/cjs/src/descriptor/fromFixedScriptWallet.d.ts.map +1 -0
  45. package/dist/cjs/src/descriptor/fromFixedScriptWallet.js +88 -0
  46. package/dist/cjs/src/descriptor/index.d.ts +11 -0
  47. package/dist/cjs/src/descriptor/index.d.ts.map +1 -0
  48. package/dist/cjs/src/descriptor/index.js +27 -0
  49. package/dist/cjs/src/descriptor/parse/PatternMatcher.d.ts +14 -0
  50. package/dist/cjs/src/descriptor/parse/PatternMatcher.d.ts.map +1 -0
  51. package/dist/cjs/src/descriptor/parse/PatternMatcher.js +60 -0
  52. package/dist/{src → cjs/src}/descriptor/psbt/assertSatisfiable.d.ts +1 -1
  53. package/dist/cjs/src/descriptor/psbt/assertSatisfiable.d.ts.map +1 -0
  54. package/dist/cjs/src/descriptor/psbt/assertSatisfiable.js +74 -0
  55. package/dist/cjs/src/descriptor/psbt/createPsbt.d.ts +23 -0
  56. package/dist/cjs/src/descriptor/psbt/createPsbt.d.ts.map +1 -0
  57. package/dist/cjs/src/descriptor/psbt/createPsbt.js +107 -0
  58. package/dist/{src → cjs/src}/descriptor/psbt/findDescriptors.d.ts +7 -3
  59. package/dist/cjs/src/descriptor/psbt/findDescriptors.d.ts.map +1 -0
  60. package/dist/cjs/src/descriptor/psbt/findDescriptors.js +98 -0
  61. package/dist/{src → cjs/src}/descriptor/psbt/index.d.ts +1 -0
  62. package/dist/cjs/src/descriptor/psbt/index.d.ts.map +1 -0
  63. package/dist/{src → cjs/src}/descriptor/psbt/index.js +2 -1
  64. package/dist/{src → cjs/src}/descriptor/psbt/parse.d.ts +2 -2
  65. package/dist/cjs/src/descriptor/psbt/parse.d.ts.map +1 -0
  66. package/dist/cjs/src/descriptor/psbt/parse.js +87 -0
  67. package/dist/cjs/src/descriptor/psbt/sign.d.ts +26 -0
  68. package/dist/cjs/src/descriptor/psbt/sign.d.ts.map +1 -0
  69. package/dist/cjs/src/descriptor/psbt/sign.js +42 -0
  70. package/dist/{src → cjs/src}/descriptor/psbt/wrap.d.ts +1 -1
  71. package/dist/cjs/src/descriptor/psbt/wrap.d.ts.map +1 -0
  72. package/dist/cjs/src/descriptor/psbt/wrap.js +76 -0
  73. package/dist/cjs/src/dustThreshold.d.ts +4 -0
  74. package/dist/cjs/src/dustThreshold.d.ts.map +1 -0
  75. package/dist/cjs/src/dustThreshold.js +134 -0
  76. package/dist/cjs/src/index.d.ts +10 -0
  77. package/dist/cjs/src/index.d.ts.map +1 -0
  78. package/dist/{src → cjs/src}/index.js +12 -2
  79. package/dist/cjs/src/paygo/attestation.d.ts +11 -0
  80. package/dist/cjs/src/paygo/attestation.d.ts.map +1 -0
  81. package/dist/cjs/src/paygo/attestation.js +58 -0
  82. package/dist/cjs/src/paygo/index.d.ts +3 -0
  83. package/dist/cjs/src/paygo/index.d.ts.map +1 -0
  84. package/dist/cjs/src/paygo/index.js +19 -0
  85. package/dist/cjs/src/paygo/parsePayGoAttestation.d.ts +16 -0
  86. package/dist/cjs/src/paygo/parsePayGoAttestation.d.ts.map +1 -0
  87. package/dist/cjs/src/paygo/parsePayGoAttestation.js +50 -0
  88. package/dist/cjs/src/paygo/psbt/Errors.d.ts +22 -0
  89. package/dist/cjs/src/paygo/psbt/Errors.d.ts.map +1 -0
  90. package/dist/cjs/src/paygo/psbt/Errors.js +44 -0
  91. package/dist/cjs/src/paygo/psbt/index.d.ts +2 -0
  92. package/dist/cjs/src/paygo/psbt/index.d.ts.map +1 -0
  93. package/dist/cjs/src/paygo/psbt/index.js +18 -0
  94. package/dist/cjs/src/paygo/psbt/payGoAddressProof.d.ts +29 -0
  95. package/dist/cjs/src/paygo/psbt/payGoAddressProof.d.ts.map +1 -0
  96. package/dist/cjs/src/paygo/psbt/payGoAddressProof.js +124 -0
  97. package/dist/{src → cjs/src}/testutil/descriptor/descriptors.d.ts +5 -2
  98. package/dist/cjs/src/testutil/descriptor/descriptors.d.ts.map +1 -0
  99. package/dist/cjs/src/testutil/descriptor/descriptors.js +162 -0
  100. package/dist/cjs/src/testutil/descriptor/index.d.ts.map +1 -0
  101. package/dist/{src → cjs/src}/testutil/descriptor/index.js +1 -1
  102. package/dist/{src → cjs/src}/testutil/descriptor/mock.utils.d.ts +6 -4
  103. package/dist/cjs/src/testutil/descriptor/mock.utils.d.ts.map +1 -0
  104. package/dist/cjs/src/testutil/descriptor/mock.utils.js +92 -0
  105. package/dist/cjs/src/testutil/descriptor/psbt.utils.d.ts.map +1 -0
  106. package/dist/cjs/src/testutil/descriptor/psbt.utils.js +21 -0
  107. package/dist/cjs/src/testutil/fixtures.utils.d.ts.map +1 -0
  108. package/dist/cjs/src/testutil/fixtures.utils.js +127 -0
  109. package/dist/cjs/src/testutil/generatePayGoAttestationProof.utils.d.ts +12 -0
  110. package/dist/cjs/src/testutil/generatePayGoAttestationProof.utils.d.ts.map +1 -0
  111. package/dist/cjs/src/testutil/generatePayGoAttestationProof.utils.js +38 -0
  112. package/dist/cjs/src/testutil/index.d.ts +6 -0
  113. package/dist/cjs/src/testutil/index.d.ts.map +1 -0
  114. package/dist/cjs/src/testutil/index.js +22 -0
  115. package/dist/{src → cjs/src}/testutil/key.utils.d.ts +1 -1
  116. package/dist/cjs/src/testutil/key.utils.d.ts.map +1 -0
  117. package/dist/cjs/src/testutil/key.utils.js +60 -0
  118. package/dist/cjs/src/testutil/toPlainObject.utils.d.ts.map +1 -0
  119. package/dist/cjs/src/testutil/toPlainObject.utils.js +89 -0
  120. package/dist/cjs/src/testutil/trimMessagePrefix.d.ts +11 -0
  121. package/dist/cjs/src/testutil/trimMessagePrefix.d.ts.map +1 -0
  122. package/dist/cjs/src/testutil/trimMessagePrefix.js +60 -0
  123. package/dist/cjs/src/xOnlyPubkey.d.ts +2 -0
  124. package/dist/cjs/src/xOnlyPubkey.d.ts.map +1 -0
  125. package/dist/cjs/src/xOnlyPubkey.js +18 -0
  126. package/dist/cjs/test/Output.d.ts +2 -0
  127. package/dist/cjs/test/Output.d.ts.map +1 -0
  128. package/dist/cjs/test/Output.js +70 -0
  129. package/dist/cjs/test/bip322/bip322.utils.d.ts +7 -0
  130. package/dist/cjs/test/bip322/bip322.utils.d.ts.map +1 -0
  131. package/dist/cjs/test/bip322/bip322.utils.js +16 -0
  132. package/dist/cjs/test/bip322/toSign.d.ts +2 -0
  133. package/dist/cjs/test/bip322/toSign.d.ts.map +1 -0
  134. package/dist/cjs/test/bip322/toSign.js +133 -0
  135. package/dist/cjs/test/bip322/toSpend.d.ts +2 -0
  136. package/dist/cjs/test/bip322/toSpend.d.ts.map +1 -0
  137. package/dist/cjs/test/bip322/toSpend.js +70 -0
  138. package/dist/cjs/test/bip322/utils.d.ts +2 -0
  139. package/dist/cjs/test/bip322/utils.d.ts.map +1 -0
  140. package/dist/cjs/test/bip322/utils.js +79 -0
  141. package/dist/cjs/test/bip322/verify.d.ts +2 -0
  142. package/dist/cjs/test/bip322/verify.d.ts.map +1 -0
  143. package/dist/cjs/test/bip322/verify.js +293 -0
  144. package/dist/cjs/test/bip32utils.d.ts +2 -0
  145. package/dist/cjs/test/bip32utils.d.ts.map +1 -0
  146. package/dist/cjs/test/bip32utils.js +62 -0
  147. package/dist/cjs/test/bip65/locktime.d.ts +2 -0
  148. package/dist/cjs/test/bip65/locktime.d.ts.map +1 -0
  149. package/dist/cjs/test/bip65/locktime.js +22 -0
  150. package/dist/cjs/test/descriptor/Output.d.ts +2 -0
  151. package/dist/cjs/test/descriptor/Output.d.ts.map +1 -0
  152. package/dist/cjs/test/descriptor/Output.js +44 -0
  153. package/dist/cjs/test/descriptor/derive.d.ts +2 -0
  154. package/dist/cjs/test/descriptor/derive.d.ts.map +1 -0
  155. package/dist/cjs/test/descriptor/derive.js +27 -0
  156. package/dist/cjs/test/descriptor/fromFixedScriptWallet.d.ts +2 -0
  157. package/dist/cjs/test/descriptor/fromFixedScriptWallet.d.ts.map +1 -0
  158. package/dist/cjs/test/descriptor/fromFixedScriptWallet.js +145 -0
  159. package/dist/cjs/test/descriptor/parse/PatternMatcher.d.ts +2 -0
  160. package/dist/cjs/test/descriptor/parse/PatternMatcher.d.ts.map +1 -0
  161. package/dist/cjs/test/descriptor/parse/PatternMatcher.js +120 -0
  162. package/dist/cjs/test/descriptor/psbt/VirtualSize.d.ts +2 -0
  163. package/dist/cjs/test/descriptor/psbt/VirtualSize.d.ts.map +1 -0
  164. package/dist/cjs/test/descriptor/psbt/VirtualSize.js +71 -0
  165. package/dist/cjs/test/descriptor/psbt/assertSatisfiable.d.ts +2 -0
  166. package/dist/cjs/test/descriptor/psbt/assertSatisfiable.d.ts.map +1 -0
  167. package/dist/cjs/test/descriptor/psbt/assertSatisfiable.js +56 -0
  168. package/dist/cjs/test/descriptor/psbt/findDescriptors.d.ts +2 -0
  169. package/dist/cjs/test/descriptor/psbt/findDescriptors.d.ts.map +1 -0
  170. package/dist/cjs/test/descriptor/psbt/findDescriptors.js +70 -0
  171. package/dist/cjs/test/descriptor/psbt/psbt.d.ts +2 -0
  172. package/dist/cjs/test/descriptor/psbt/psbt.d.ts.map +1 -0
  173. package/dist/cjs/test/descriptor/psbt/psbt.js +211 -0
  174. package/dist/cjs/test/dustThreshold.d.ts +2 -0
  175. package/dist/cjs/test/dustThreshold.d.ts.map +1 -0
  176. package/dist/cjs/test/dustThreshold.js +110 -0
  177. package/dist/cjs/test/paygo/attestation.d.ts +2 -0
  178. package/dist/cjs/test/paygo/attestation.d.ts.map +1 -0
  179. package/dist/cjs/test/paygo/attestation.js +23 -0
  180. package/dist/cjs/test/paygo/parsePayGoAttestation.d.ts +2 -0
  181. package/dist/cjs/test/paygo/parsePayGoAttestation.d.ts.map +1 -0
  182. package/dist/cjs/test/paygo/parsePayGoAttestation.js +75 -0
  183. package/dist/cjs/test/paygo/psbt/payGoAddressProof.d.ts +9 -0
  184. package/dist/cjs/test/paygo/psbt/payGoAddressProof.d.ts.map +1 -0
  185. package/dist/cjs/test/paygo/psbt/payGoAddressProof.js +163 -0
  186. package/dist/cjs/test/xOnlyPubkey.d.ts +2 -0
  187. package/dist/cjs/test/xOnlyPubkey.d.ts.map +1 -0
  188. package/dist/cjs/test/xOnlyPubkey.js +18 -0
  189. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  190. package/dist/esm/Output.d.ts +43 -0
  191. package/dist/esm/Output.d.ts.map +1 -0
  192. package/dist/esm/Output.js +53 -0
  193. package/dist/esm/bip322/index.d.ts +5 -0
  194. package/dist/esm/bip322/index.d.ts.map +1 -0
  195. package/dist/esm/bip322/index.js +5 -0
  196. package/dist/esm/bip322/toSign.d.ts +25 -0
  197. package/dist/esm/bip322/toSign.d.ts.map +1 -0
  198. package/dist/esm/bip322/toSign.js +119 -0
  199. package/dist/esm/bip322/toSpend.d.ts +22 -0
  200. package/dist/esm/bip322/toSpend.d.ts.map +1 -0
  201. package/dist/esm/bip322/toSpend.js +66 -0
  202. package/dist/esm/bip322/utils.d.ts +18 -0
  203. package/dist/esm/bip322/utils.d.ts.map +1 -0
  204. package/dist/esm/bip322/utils.js +77 -0
  205. package/dist/esm/bip322/verify.d.ts +12 -0
  206. package/dist/esm/bip322/verify.d.ts.map +1 -0
  207. package/dist/esm/bip322/verify.js +74 -0
  208. package/dist/esm/bip32utils.d.ts +12 -0
  209. package/dist/esm/bip32utils.d.ts.map +1 -0
  210. package/dist/esm/bip32utils.js +12 -0
  211. package/dist/esm/bip65/index.d.ts +2 -0
  212. package/dist/esm/bip65/index.d.ts.map +1 -0
  213. package/dist/esm/bip65/index.js +2 -0
  214. package/dist/esm/bip65/locktime.d.ts +8 -0
  215. package/dist/esm/bip65/locktime.d.ts.map +1 -0
  216. package/dist/esm/bip65/locktime.js +34 -0
  217. package/dist/esm/descriptor/DescriptorMap.d.ts +9 -0
  218. package/dist/{src → esm}/descriptor/DescriptorMap.d.ts.map +1 -1
  219. package/dist/esm/descriptor/DescriptorMap.js +6 -0
  220. package/dist/esm/descriptor/Output.d.ts +23 -0
  221. package/dist/esm/descriptor/Output.d.ts.map +1 -0
  222. package/dist/esm/descriptor/Output.js +32 -0
  223. package/dist/esm/descriptor/VirtualSize.d.ts +23 -0
  224. package/dist/esm/descriptor/VirtualSize.d.ts.map +1 -0
  225. package/dist/esm/descriptor/VirtualSize.js +94 -0
  226. package/dist/esm/descriptor/address.d.ts +5 -0
  227. package/dist/esm/descriptor/address.d.ts.map +1 -0
  228. package/dist/esm/descriptor/address.js +11 -0
  229. package/dist/esm/descriptor/derive.d.ts +13 -0
  230. package/dist/esm/descriptor/derive.d.ts.map +1 -0
  231. package/dist/esm/descriptor/derive.js +38 -0
  232. package/dist/esm/descriptor/fromFixedScriptWallet.d.ts +16 -0
  233. package/dist/esm/descriptor/fromFixedScriptWallet.d.ts.map +1 -0
  234. package/dist/esm/descriptor/fromFixedScriptWallet.js +51 -0
  235. package/dist/esm/descriptor/index.d.ts +11 -0
  236. package/dist/esm/descriptor/index.d.ts.map +1 -0
  237. package/dist/esm/descriptor/index.js +11 -0
  238. package/dist/esm/descriptor/parse/PatternMatcher.d.ts +14 -0
  239. package/dist/esm/descriptor/parse/PatternMatcher.d.ts.map +1 -0
  240. package/dist/esm/descriptor/parse/PatternMatcher.js +56 -0
  241. package/dist/esm/descriptor/psbt/assertSatisfiable.d.ts +20 -0
  242. package/dist/{src → esm}/descriptor/psbt/assertSatisfiable.d.ts.map +1 -1
  243. package/dist/esm/descriptor/psbt/assertSatisfiable.js +69 -0
  244. package/dist/esm/descriptor/psbt/createPsbt.d.ts +23 -0
  245. package/dist/esm/descriptor/psbt/createPsbt.d.ts.map +1 -0
  246. package/dist/esm/descriptor/psbt/createPsbt.js +69 -0
  247. package/dist/esm/descriptor/psbt/findDescriptors.d.ts +26 -0
  248. package/dist/esm/descriptor/psbt/findDescriptors.d.ts.map +1 -0
  249. package/dist/esm/descriptor/psbt/findDescriptors.js +94 -0
  250. package/dist/esm/descriptor/psbt/index.d.ts +7 -0
  251. package/dist/{src → esm}/descriptor/psbt/index.d.ts.map +1 -1
  252. package/dist/esm/descriptor/psbt/index.js +7 -0
  253. package/dist/esm/descriptor/psbt/parse.d.ts +27 -0
  254. package/dist/esm/descriptor/psbt/parse.d.ts.map +1 -0
  255. package/dist/esm/descriptor/psbt/parse.js +51 -0
  256. package/dist/esm/descriptor/psbt/sign.d.ts +26 -0
  257. package/dist/esm/descriptor/psbt/sign.d.ts.map +1 -0
  258. package/dist/esm/descriptor/psbt/sign.js +34 -0
  259. package/dist/esm/descriptor/psbt/wrap.d.ts +12 -0
  260. package/dist/{src → esm}/descriptor/psbt/wrap.d.ts.map +1 -1
  261. package/dist/esm/descriptor/psbt/wrap.js +38 -0
  262. package/dist/esm/dustThreshold.d.ts +4 -0
  263. package/dist/esm/dustThreshold.d.ts.map +1 -0
  264. package/dist/esm/dustThreshold.js +97 -0
  265. package/dist/esm/index.d.ts +10 -0
  266. package/dist/esm/index.d.ts.map +1 -0
  267. package/dist/esm/index.js +10 -0
  268. package/dist/esm/paygo/attestation.d.ts +11 -0
  269. package/dist/esm/paygo/attestation.d.ts.map +1 -0
  270. package/dist/esm/paygo/attestation.js +18 -0
  271. package/dist/esm/paygo/index.d.ts +3 -0
  272. package/dist/esm/paygo/index.d.ts.map +1 -0
  273. package/dist/esm/paygo/index.js +3 -0
  274. package/dist/esm/paygo/parsePayGoAttestation.d.ts +16 -0
  275. package/dist/esm/paygo/parsePayGoAttestation.d.ts.map +1 -0
  276. package/dist/esm/paygo/parsePayGoAttestation.js +43 -0
  277. package/dist/esm/paygo/psbt/Errors.d.ts +22 -0
  278. package/dist/esm/paygo/psbt/Errors.d.ts.map +1 -0
  279. package/dist/esm/paygo/psbt/Errors.js +35 -0
  280. package/dist/esm/paygo/psbt/index.d.ts +2 -0
  281. package/dist/esm/paygo/psbt/index.d.ts.map +1 -0
  282. package/dist/esm/paygo/psbt/index.js +2 -0
  283. package/dist/esm/paygo/psbt/payGoAddressProof.d.ts +29 -0
  284. package/dist/esm/paygo/psbt/payGoAddressProof.d.ts.map +1 -0
  285. package/dist/esm/paygo/psbt/payGoAddressProof.js +85 -0
  286. package/dist/esm/testutil/descriptor/descriptors.d.ts +13 -0
  287. package/dist/esm/testutil/descriptor/descriptors.d.ts.map +1 -0
  288. package/dist/esm/testutil/descriptor/descriptors.js +150 -0
  289. package/dist/esm/testutil/descriptor/index.d.ts +4 -0
  290. package/dist/esm/testutil/descriptor/index.js +4 -0
  291. package/dist/esm/testutil/descriptor/mock.utils.d.ts +36 -0
  292. package/dist/esm/testutil/descriptor/mock.utils.d.ts.map +1 -0
  293. package/dist/esm/testutil/descriptor/mock.utils.js +53 -0
  294. package/dist/esm/testutil/descriptor/psbt.utils.d.ts +4 -0
  295. package/dist/{src → esm}/testutil/descriptor/psbt.utils.d.ts.map +1 -1
  296. package/dist/esm/testutil/descriptor/psbt.utils.js +17 -0
  297. package/dist/esm/testutil/fixtures.utils.d.ts +15 -0
  298. package/dist/{src → esm}/testutil/fixtures.utils.js +5 -42
  299. package/dist/esm/testutil/generatePayGoAttestationProof.utils.d.ts +12 -0
  300. package/dist/esm/testutil/generatePayGoAttestationProof.utils.d.ts.map +1 -0
  301. package/dist/esm/testutil/generatePayGoAttestationProof.utils.js +32 -0
  302. package/dist/esm/testutil/index.d.ts +6 -0
  303. package/dist/{src → esm}/testutil/index.d.ts.map +1 -1
  304. package/dist/esm/testutil/index.js +6 -0
  305. package/dist/esm/testutil/key.utils.d.ts +16 -0
  306. package/dist/{src → esm}/testutil/key.utils.d.ts.map +1 -1
  307. package/dist/esm/testutil/key.utils.js +22 -0
  308. package/dist/esm/testutil/toPlainObject.utils.d.ts +11 -0
  309. package/dist/{src → esm}/testutil/toPlainObject.utils.d.ts.map +1 -1
  310. package/dist/esm/testutil/toPlainObject.utils.js +85 -0
  311. package/dist/esm/testutil/trimMessagePrefix.d.ts +11 -0
  312. package/dist/esm/testutil/trimMessagePrefix.d.ts.map +1 -0
  313. package/dist/esm/testutil/trimMessagePrefix.js +24 -0
  314. package/dist/esm/xOnlyPubkey.d.ts +2 -0
  315. package/dist/esm/xOnlyPubkey.d.ts.map +1 -0
  316. package/dist/esm/xOnlyPubkey.js +15 -0
  317. package/package.json +51 -22
  318. package/dist/src/descriptor/DescriptorMap.js +0 -12
  319. package/dist/src/descriptor/Output.d.ts +0 -24
  320. package/dist/src/descriptor/Output.d.ts.map +0 -1
  321. package/dist/src/descriptor/Output.js +0 -22
  322. package/dist/src/descriptor/VirtualSize.d.ts.map +0 -1
  323. package/dist/src/descriptor/VirtualSize.js +0 -87
  324. package/dist/src/descriptor/address.d.ts.map +0 -1
  325. package/dist/src/descriptor/index.d.ts +0 -9
  326. package/dist/src/descriptor/index.d.ts.map +0 -1
  327. package/dist/src/descriptor/index.js +0 -49
  328. package/dist/src/descriptor/psbt/assertSatisfiable.js +0 -74
  329. package/dist/src/descriptor/psbt/createPsbt.d.ts +0 -15
  330. package/dist/src/descriptor/psbt/createPsbt.d.ts.map +0 -1
  331. package/dist/src/descriptor/psbt/createPsbt.js +0 -82
  332. package/dist/src/descriptor/psbt/findDescriptors.d.ts.map +0 -1
  333. package/dist/src/descriptor/psbt/findDescriptors.js +0 -85
  334. package/dist/src/descriptor/psbt/parse.d.ts.map +0 -1
  335. package/dist/src/descriptor/psbt/parse.js +0 -87
  336. package/dist/src/descriptor/psbt/wrap.js +0 -76
  337. package/dist/src/index.d.ts +0 -3
  338. package/dist/src/index.d.ts.map +0 -1
  339. package/dist/src/testutil/descriptor/descriptors.d.ts.map +0 -1
  340. package/dist/src/testutil/descriptor/descriptors.js +0 -105
  341. package/dist/src/testutil/descriptor/mock.utils.d.ts.map +0 -1
  342. package/dist/src/testutil/descriptor/mock.utils.js +0 -87
  343. package/dist/src/testutil/descriptor/psbt.utils.js +0 -20
  344. package/dist/src/testutil/index.d.ts +0 -4
  345. package/dist/src/testutil/key.utils.js +0 -59
  346. package/dist/src/testutil/toPlainObject.utils.js +0 -75
  347. /package/dist/{src → cjs/src}/testutil/descriptor/index.d.ts +0 -0
  348. /package/dist/{src → cjs/src}/testutil/descriptor/psbt.utils.d.ts +0 -0
  349. /package/dist/{src → cjs/src}/testutil/fixtures.utils.d.ts +0 -0
  350. /package/dist/{src → cjs/src}/testutil/toPlainObject.utils.d.ts +0 -0
  351. /package/dist/{src → esm}/testutil/descriptor/index.d.ts.map +0 -0
  352. /package/dist/{src → esm}/testutil/fixtures.utils.d.ts.map +0 -0
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findDescriptorForInput = findDescriptorForInput;
4
- exports.findDescriptorForOutput = findDescriptorForOutput;
5
- /**
6
- * Find a descriptor in the descriptor map that matches the given script and derivation index.
7
- * @param script
8
- * @param index
9
- * @param descriptorMap
10
- * @returns DescriptorWithIndex if found, undefined otherwise
11
- */
12
- function findDescriptorForDerivationIndex(script, index, descriptorMap) {
13
- for (const descriptor of descriptorMap.values()) {
14
- if (Buffer.from(descriptor.atDerivationIndex(index).scriptPubkey()).equals(script)) {
15
- return { descriptor, index };
16
- }
17
- }
18
- return undefined;
19
- }
20
- function getDerivationIndexFromPath(path) {
21
- const indexStr = path.split('/').pop();
22
- if (!indexStr) {
23
- throw new Error(`Invalid derivation path ${path}`);
24
- }
25
- const index = parseInt(indexStr, 10);
26
- if (index.toString() !== indexStr) {
27
- throw new Error(`Invalid derivation path ${path}`);
28
- }
29
- return index;
30
- }
31
- /**
32
- * Wrapper around findDescriptorForDerivationPath that tries multiple derivation paths.
33
- * @param script
34
- * @param derivationPaths
35
- * @param descriptorMap
36
- */
37
- function findDescriptorForAnyDerivationPath(script, derivationPaths, descriptorMap) {
38
- const derivationIndexSet = new Set(derivationPaths.map((p) => getDerivationIndexFromPath(p)));
39
- for (const index of [...derivationIndexSet]) {
40
- const desc = findDescriptorForDerivationIndex(script, index, descriptorMap);
41
- if (desc) {
42
- return desc;
43
- }
44
- }
45
- return undefined;
46
- }
47
- function getDerivationPaths(v) {
48
- if ('bip32Derivation' in v && v.bip32Derivation) {
49
- return v.bip32Derivation.map((v) => v.path);
50
- }
51
- if ('tapBip32Derivation' in v && v.tapBip32Derivation) {
52
- return v.tapBip32Derivation.map((v) => v.path).filter((v) => v !== '' && v !== 'm');
53
- }
54
- return undefined;
55
- }
56
- /**
57
- * @param input
58
- * @param descriptorMap
59
- * @returns DescriptorWithIndex for the input if found, undefined otherwise
60
- */
61
- function findDescriptorForInput(input, descriptorMap) {
62
- const script = input.witnessUtxo?.script;
63
- if (!script) {
64
- throw new Error('Missing script');
65
- }
66
- const derivationPaths = getDerivationPaths(input);
67
- if (!derivationPaths) {
68
- throw new Error('Missing derivation paths');
69
- }
70
- return findDescriptorForAnyDerivationPath(script, derivationPaths, descriptorMap);
71
- }
72
- /**
73
- * @param script - the output script
74
- * @param output - the PSBT output
75
- * @param descriptorMap
76
- * @returns DescriptorWithIndex for the output if found, undefined otherwise
77
- */
78
- function findDescriptorForOutput(script, output, descriptorMap) {
79
- const derivationPaths = getDerivationPaths(output);
80
- if (!derivationPaths) {
81
- return undefined;
82
- }
83
- return findDescriptorForAnyDerivationPath(script, derivationPaths, descriptorMap);
84
- }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZERlc2NyaXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvcHNidC9maW5kRGVzY3JpcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEyRkEsd0RBYUM7QUFRRCwwREFVQztBQXhHRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLGdDQUFnQyxDQUN2QyxNQUFjLEVBQ2QsS0FBYSxFQUNiLGFBQTRCO0lBRTVCLEtBQUssTUFBTSxVQUFVLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDaEQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxJQUFZO0lBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsa0NBQWtDLENBQ3pDLE1BQWMsRUFDZCxlQUF5QixFQUN6QixhQUE0QjtJQUU1QixNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RixLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDNUMsTUFBTSxJQUFJLEdBQUcsZ0NBQWdDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFLRCxTQUFTLGtCQUFrQixDQUFDLENBQStDO0lBQ3pFLElBQUksaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELElBQUksb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQ3BDLEtBQWdCLEVBQ2hCLGFBQTRCO0lBRTVCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsT0FBTyxrQ0FBa0MsQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLHVCQUF1QixDQUNyQyxNQUFjLEVBQ2QsTUFBa0IsRUFDbEIsYUFBNEI7SUFFNUIsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxPQUFPLGtDQUFrQyxDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5cblV0aWxpdGllcyBmb3IgbWFwcGluZyBiYWNrIGZyb20gUFNCVCBpbnB1dHMgdG8gZGVzY3JpcHRvcnMuXG5cblRoaXMgaXMgYSBzb21ld2hhdCBicnV0ZS1mb3JjZSBhdHRlbXB0IHRoYXQgcmVsaWVzIG9uIHRoZSBgYmlwMzJEZXJpdmF0aW9uYCBmaWVsZCB0byBiZSBzZXQuXG5cbkl0IHdpbGwgcHJvYmFibHkgb25seSB3b3JrIGNvcnJlY3RseSBpZiBhbGwgeHB1YnMgaW4gdGhlIGRlc2NyaXB0b3IgYXJlIGRlcml2YWJsZS5cblxuV2Ugc2hvdWxkIHRha2UgYSBsb29rIGF0IGEgbW9yZSByb2J1c3QgYW5kIHN0YW5kYXJkIGFwcHJvYWNoIGxpa2UgdGhpczogaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy9wdWxsLzE1NDhcblxuICovXG5pbXBvcnQgeyBQc2J0SW5wdXQsIFBzYnRPdXRwdXQgfSBmcm9tICdiaXAxNzQvc3JjL2xpYi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuaW1wb3J0IHsgRGVzY3JpcHRvck1hcCB9IGZyb20gJy4uL0Rlc2NyaXB0b3JNYXAnO1xuXG50eXBlIERlc2NyaXB0b3JXaXRoSW5kZXggPSB7IGRlc2NyaXB0b3I6IERlc2NyaXB0b3I7IGluZGV4OiBudW1iZXIgfTtcblxuLyoqXG4gKiBGaW5kIGEgZGVzY3JpcHRvciBpbiB0aGUgZGVzY3JpcHRvciBtYXAgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBzY3JpcHQgYW5kIGRlcml2YXRpb24gaW5kZXguXG4gKiBAcGFyYW0gc2NyaXB0XG4gKiBAcGFyYW0gaW5kZXhcbiAqIEBwYXJhbSBkZXNjcmlwdG9yTWFwXG4gKiBAcmV0dXJucyBEZXNjcmlwdG9yV2l0aEluZGV4IGlmIGZvdW5kLCB1bmRlZmluZWQgb3RoZXJ3aXNlXG4gKi9cbmZ1bmN0aW9uIGZpbmREZXNjcmlwdG9yRm9yRGVyaXZhdGlvbkluZGV4KFxuICBzY3JpcHQ6IEJ1ZmZlcixcbiAgaW5kZXg6IG51bWJlcixcbiAgZGVzY3JpcHRvck1hcDogRGVzY3JpcHRvck1hcFxuKTogRGVzY3JpcHRvcldpdGhJbmRleCB8IHVuZGVmaW5lZCB7XG4gIGZvciAoY29uc3QgZGVzY3JpcHRvciBvZiBkZXNjcmlwdG9yTWFwLnZhbHVlcygpKSB7XG4gICAgaWYgKEJ1ZmZlci5mcm9tKGRlc2NyaXB0b3IuYXREZXJpdmF0aW9uSW5kZXgoaW5kZXgpLnNjcmlwdFB1YmtleSgpKS5lcXVhbHMoc2NyaXB0KSkge1xuICAgICAgcmV0dXJuIHsgZGVzY3JpcHRvciwgaW5kZXggfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXREZXJpdmF0aW9uSW5kZXhGcm9tUGF0aChwYXRoOiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCBpbmRleFN0ciA9IHBhdGguc3BsaXQoJy8nKS5wb3AoKTtcbiAgaWYgKCFpbmRleFN0cikge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXJpdmF0aW9uIHBhdGggJHtwYXRofWApO1xuICB9XG4gIGNvbnN0IGluZGV4ID0gcGFyc2VJbnQoaW5kZXhTdHIsIDEwKTtcbiAgaWYgKGluZGV4LnRvU3RyaW5nKCkgIT09IGluZGV4U3RyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRlcml2YXRpb24gcGF0aCAke3BhdGh9YCk7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG4vKipcbiAqIFdyYXBwZXIgYXJvdW5kIGZpbmREZXNjcmlwdG9yRm9yRGVyaXZhdGlvblBhdGggdGhhdCB0cmllcyBtdWx0aXBsZSBkZXJpdmF0aW9uIHBhdGhzLlxuICogQHBhcmFtIHNjcmlwdFxuICogQHBhcmFtIGRlcml2YXRpb25QYXRoc1xuICogQHBhcmFtIGRlc2NyaXB0b3JNYXBcbiAqL1xuZnVuY3Rpb24gZmluZERlc2NyaXB0b3JGb3JBbnlEZXJpdmF0aW9uUGF0aChcbiAgc2NyaXB0OiBCdWZmZXIsXG4gIGRlcml2YXRpb25QYXRoczogc3RyaW5nW10sXG4gIGRlc2NyaXB0b3JNYXA6IERlc2NyaXB0b3JNYXBcbik6IERlc2NyaXB0b3JXaXRoSW5kZXggfCB1bmRlZmluZWQge1xuICBjb25zdCBkZXJpdmF0aW9uSW5kZXhTZXQgPSBuZXcgU2V0KGRlcml2YXRpb25QYXRocy5tYXAoKHApID0+IGdldERlcml2YXRpb25JbmRleEZyb21QYXRoKHApKSk7XG4gIGZvciAoY29uc3QgaW5kZXggb2YgWy4uLmRlcml2YXRpb25JbmRleFNldF0pIHtcbiAgICBjb25zdCBkZXNjID0gZmluZERlc2NyaXB0b3JGb3JEZXJpdmF0aW9uSW5kZXgoc2NyaXB0LCBpbmRleCwgZGVzY3JpcHRvck1hcCk7XG4gICAgaWYgKGRlc2MpIHtcbiAgICAgIHJldHVybiBkZXNjO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbnR5cGUgV2l0aEJpcDMyRGVyaXZhdGlvbiA9IHsgYmlwMzJEZXJpdmF0aW9uPzogeyBwYXRoOiBzdHJpbmcgfVtdIH07XG50eXBlIFdpdGhUYXBCaXAzMkRlcml2YXRpb24gPSB7IHRhcEJpcDMyRGVyaXZhdGlvbj86IHsgcGF0aDogc3RyaW5nIH1bXSB9O1xuXG5mdW5jdGlvbiBnZXREZXJpdmF0aW9uUGF0aHModjogV2l0aEJpcDMyRGVyaXZhdGlvbiB8IFdpdGhUYXBCaXAzMkRlcml2YXRpb24pOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gIGlmICgnYmlwMzJEZXJpdmF0aW9uJyBpbiB2ICYmIHYuYmlwMzJEZXJpdmF0aW9uKSB7XG4gICAgcmV0dXJuIHYuYmlwMzJEZXJpdmF0aW9uLm1hcCgodikgPT4gdi5wYXRoKTtcbiAgfVxuICBpZiAoJ3RhcEJpcDMyRGVyaXZhdGlvbicgaW4gdiAmJiB2LnRhcEJpcDMyRGVyaXZhdGlvbikge1xuICAgIHJldHVybiB2LnRhcEJpcDMyRGVyaXZhdGlvbi5tYXAoKHYpID0+IHYucGF0aCkuZmlsdGVyKCh2KSA9PiB2ICE9PSAnJyAmJiB2ICE9PSAnbScpO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQHBhcmFtIGlucHV0XG4gKiBAcGFyYW0gZGVzY3JpcHRvck1hcFxuICogQHJldHVybnMgRGVzY3JpcHRvcldpdGhJbmRleCBmb3IgdGhlIGlucHV0IGlmIGZvdW5kLCB1bmRlZmluZWQgb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRGVzY3JpcHRvckZvcklucHV0KFxuICBpbnB1dDogUHNidElucHV0LFxuICBkZXNjcmlwdG9yTWFwOiBEZXNjcmlwdG9yTWFwXG4pOiBEZXNjcmlwdG9yV2l0aEluZGV4IHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc2NyaXB0ID0gaW5wdXQud2l0bmVzc1V0eG8/LnNjcmlwdDtcbiAgaWYgKCFzY3JpcHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmcgc2NyaXB0Jyk7XG4gIH1cbiAgY29uc3QgZGVyaXZhdGlvblBhdGhzID0gZ2V0RGVyaXZhdGlvblBhdGhzKGlucHV0KTtcbiAgaWYgKCFkZXJpdmF0aW9uUGF0aHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZGVyaXZhdGlvbiBwYXRocycpO1xuICB9XG4gIHJldHVybiBmaW5kRGVzY3JpcHRvckZvckFueURlcml2YXRpb25QYXRoKHNjcmlwdCwgZGVyaXZhdGlvblBhdGhzLCBkZXNjcmlwdG9yTWFwKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gc2NyaXB0IC0gdGhlIG91dHB1dCBzY3JpcHRcbiAqIEBwYXJhbSBvdXRwdXQgLSB0aGUgUFNCVCBvdXRwdXRcbiAqIEBwYXJhbSBkZXNjcmlwdG9yTWFwXG4gKiBAcmV0dXJucyBEZXNjcmlwdG9yV2l0aEluZGV4IGZvciB0aGUgb3V0cHV0IGlmIGZvdW5kLCB1bmRlZmluZWQgb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRGVzY3JpcHRvckZvck91dHB1dChcbiAgc2NyaXB0OiBCdWZmZXIsXG4gIG91dHB1dDogUHNidE91dHB1dCxcbiAgZGVzY3JpcHRvck1hcDogRGVzY3JpcHRvck1hcFxuKTogRGVzY3JpcHRvcldpdGhJbmRleCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGRlcml2YXRpb25QYXRocyA9IGdldERlcml2YXRpb25QYXRocyhvdXRwdXQpO1xuICBpZiAoIWRlcml2YXRpb25QYXRocykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGZpbmREZXNjcmlwdG9yRm9yQW55RGVyaXZhdGlvblBhdGgoc2NyaXB0LCBkZXJpdmF0aW9uUGF0aHMsIGRlc2NyaXB0b3JNYXApO1xufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/psbt/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,MAAM,MAAM,QAAQ,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,wBAAgB,KAAK,CACnB,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,2BAA2B,CA0C7B"}
@@ -1,87 +0,0 @@
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.parse = parse;
37
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
38
- const VirtualSize_1 = require("../VirtualSize");
39
- const findDescriptors_1 = require("./findDescriptors");
40
- const assertSatisfiable_1 = require("./assertSatisfiable");
41
- function sum(...values) {
42
- return values.reduce((a, b) => a + b, BigInt(0));
43
- }
44
- function parse(psbt, descriptorMap, network) {
45
- const inputs = psbt.data.inputs.map((input, inputIndex) => {
46
- if (!input.witnessUtxo) {
47
- throw new Error('invalid input: no witnessUtxo');
48
- }
49
- if (!input.witnessUtxo.value) {
50
- throw new Error('invalid input: no value');
51
- }
52
- const descriptorWithIndex = (0, findDescriptors_1.findDescriptorForInput)(input, descriptorMap);
53
- if (!descriptorWithIndex) {
54
- throw new Error('invalid input: no descriptor found');
55
- }
56
- (0, assertSatisfiable_1.assertSatisfiable)(psbt, inputIndex, descriptorWithIndex.descriptor);
57
- return {
58
- address: utxolib.address.fromOutputScript(input.witnessUtxo.script, network),
59
- value: input.witnessUtxo.value,
60
- scriptId: descriptorWithIndex,
61
- };
62
- });
63
- const outputs = psbt.txOutputs.map((output, i) => {
64
- if (output.value === undefined) {
65
- throw new Error('invalid output: no value');
66
- }
67
- const descriptorWithIndex = (0, findDescriptors_1.findDescriptorForOutput)(output.script, psbt.data.outputs[i], descriptorMap);
68
- return {
69
- address: output.address,
70
- script: output.script,
71
- value: output.value,
72
- scriptId: descriptorWithIndex,
73
- };
74
- });
75
- const inputAmount = sum(...inputs.map((input) => input.value));
76
- const outputSum = sum(...outputs.map((output) => output.value));
77
- const spendAmount = sum(...outputs.filter((output) => !('descriptor' in output)).map((output) => output.value));
78
- const minerFee = inputAmount - outputSum;
79
- return {
80
- inputs,
81
- outputs,
82
- spendAmount,
83
- minerFee,
84
- virtualSize: (0, VirtualSize_1.getVirtualSize)({ inputs: inputs.map((i) => i.scriptId.descriptor), outputs }),
85
- };
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9wc2J0L3BhcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0NBLHNCQThDQztBQWpGRCw4REFBZ0Q7QUFHaEQsZ0RBQWdEO0FBRWhELHVEQUFvRjtBQUNwRiwyREFBd0Q7QUF5QnhELFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBZ0I7SUFDOUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsU0FBZ0IsS0FBSyxDQUNuQixJQUFrQixFQUNsQixhQUE0QixFQUM1QixPQUF3QjtJQUV4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFlLEVBQUU7UUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFBLHdDQUFzQixFQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUEscUNBQWlCLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRSxPQUFPO1lBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO1lBQzVFLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUs7WUFDOUIsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQWdCLEVBQUU7UUFDN0QsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFBLHlDQUF1QixFQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDeEcsT0FBTztZQUNMLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFFBQVEsRUFBRSxtQkFBbUI7U0FDOUIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEgsTUFBTSxRQUFRLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUN6QyxPQUFPO1FBQ0wsTUFBTTtRQUNOLE9BQU87UUFDUCxXQUFXO1FBQ1gsUUFBUTtRQUNSLFdBQVcsRUFBRSxJQUFBLDRCQUFjLEVBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztLQUMzRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwIH0gZnJvbSAnLi4vRGVzY3JpcHRvck1hcCc7XG5pbXBvcnQgeyBnZXRWaXJ0dWFsU2l6ZSB9IGZyb20gJy4uL1ZpcnR1YWxTaXplJztcblxuaW1wb3J0IHsgZmluZERlc2NyaXB0b3JGb3JJbnB1dCwgZmluZERlc2NyaXB0b3JGb3JPdXRwdXQgfSBmcm9tICcuL2ZpbmREZXNjcmlwdG9ycyc7XG5pbXBvcnQgeyBhc3NlcnRTYXRpc2ZpYWJsZSB9IGZyb20gJy4vYXNzZXJ0U2F0aXNmaWFibGUnO1xuXG5leHBvcnQgdHlwZSBTY3JpcHRJZCA9IHsgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjsgaW5kZXg6IG51bWJlciB9O1xuXG5leHBvcnQgdHlwZSBQYXJzZWRJbnB1dCA9IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICB2YWx1ZTogYmlnaW50O1xuICBzY3JpcHRJZDogU2NyaXB0SWQ7XG59O1xuXG5leHBvcnQgdHlwZSBQYXJzZWRPdXRwdXQgPSB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIHNjcmlwdDogQnVmZmVyO1xuICB2YWx1ZTogYmlnaW50O1xuICBzY3JpcHRJZD86IFNjcmlwdElkO1xufTtcblxuZXhwb3J0IHR5cGUgUGFyc2VkRGVzY3JpcHRvclRyYW5zYWN0aW9uID0ge1xuICBpbnB1dHM6IFBhcnNlZElucHV0W107XG4gIG91dHB1dHM6IFBhcnNlZE91dHB1dFtdO1xuICBzcGVuZEFtb3VudDogYmlnaW50O1xuICBtaW5lckZlZTogYmlnaW50O1xuICB2aXJ0dWFsU2l6ZTogbnVtYmVyO1xufTtcblxuZnVuY3Rpb24gc3VtKC4uLnZhbHVlczogYmlnaW50W10pOiBiaWdpbnQge1xuICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIEJpZ0ludCgwKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShcbiAgcHNidDogdXR4b2xpYi5Qc2J0LFxuICBkZXNjcmlwdG9yTWFwOiBEZXNjcmlwdG9yTWFwLFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IFBhcnNlZERlc2NyaXB0b3JUcmFuc2FjdGlvbiB7XG4gIGNvbnN0IGlucHV0cyA9IHBzYnQuZGF0YS5pbnB1dHMubWFwKChpbnB1dCwgaW5wdXRJbmRleCk6IFBhcnNlZElucHV0ID0+IHtcbiAgICBpZiAoIWlucHV0LndpdG5lc3NVdHhvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgaW5wdXQ6IG5vIHdpdG5lc3NVdHhvJyk7XG4gICAgfVxuICAgIGlmICghaW5wdXQud2l0bmVzc1V0eG8udmFsdWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBpbnB1dDogbm8gdmFsdWUnKTtcbiAgICB9XG4gICAgY29uc3QgZGVzY3JpcHRvcldpdGhJbmRleCA9IGZpbmREZXNjcmlwdG9yRm9ySW5wdXQoaW5wdXQsIGRlc2NyaXB0b3JNYXApO1xuICAgIGlmICghZGVzY3JpcHRvcldpdGhJbmRleCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGlucHV0OiBubyBkZXNjcmlwdG9yIGZvdW5kJyk7XG4gICAgfVxuICAgIGFzc2VydFNhdGlzZmlhYmxlKHBzYnQsIGlucHV0SW5kZXgsIGRlc2NyaXB0b3JXaXRoSW5kZXguZGVzY3JpcHRvcik7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZHJlc3M6IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KGlucHV0LndpdG5lc3NVdHhvLnNjcmlwdCwgbmV0d29yayksXG4gICAgICB2YWx1ZTogaW5wdXQud2l0bmVzc1V0eG8udmFsdWUsXG4gICAgICBzY3JpcHRJZDogZGVzY3JpcHRvcldpdGhJbmRleCxcbiAgICB9O1xuICB9KTtcbiAgY29uc3Qgb3V0cHV0cyA9IHBzYnQudHhPdXRwdXRzLm1hcCgob3V0cHV0LCBpKTogUGFyc2VkT3V0cHV0ID0+IHtcbiAgICBpZiAob3V0cHV0LnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBvdXRwdXQ6IG5vIHZhbHVlJyk7XG4gICAgfVxuICAgIGNvbnN0IGRlc2NyaXB0b3JXaXRoSW5kZXggPSBmaW5kRGVzY3JpcHRvckZvck91dHB1dChvdXRwdXQuc2NyaXB0LCBwc2J0LmRhdGEub3V0cHV0c1tpXSwgZGVzY3JpcHRvck1hcCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgc2NyaXB0OiBvdXRwdXQuc2NyaXB0LFxuICAgICAgdmFsdWU6IG91dHB1dC52YWx1ZSxcbiAgICAgIHNjcmlwdElkOiBkZXNjcmlwdG9yV2l0aEluZGV4LFxuICAgIH07XG4gIH0pO1xuICBjb25zdCBpbnB1dEFtb3VudCA9IHN1bSguLi5pbnB1dHMubWFwKChpbnB1dCkgPT4gaW5wdXQudmFsdWUpKTtcbiAgY29uc3Qgb3V0cHV0U3VtID0gc3VtKC4uLm91dHB1dHMubWFwKChvdXRwdXQpID0+IG91dHB1dC52YWx1ZSkpO1xuICBjb25zdCBzcGVuZEFtb3VudCA9IHN1bSguLi5vdXRwdXRzLmZpbHRlcigob3V0cHV0KSA9PiAhKCdkZXNjcmlwdG9yJyBpbiBvdXRwdXQpKS5tYXAoKG91dHB1dCkgPT4gb3V0cHV0LnZhbHVlKSk7XG4gIGNvbnN0IG1pbmVyRmVlID0gaW5wdXRBbW91bnQgLSBvdXRwdXRTdW07XG4gIHJldHVybiB7XG4gICAgaW5wdXRzLFxuICAgIG91dHB1dHMsXG4gICAgc3BlbmRBbW91bnQsXG4gICAgbWluZXJGZWUsXG4gICAgdmlydHVhbFNpemU6IGdldFZpcnR1YWxTaXplKHsgaW5wdXRzOiBpbnB1dHMubWFwKChpKSA9PiBpLnNjcmlwdElkLmRlc2NyaXB0b3IpLCBvdXRwdXRzIH0pLFxuICB9O1xufVxuIl19
@@ -1,76 +0,0 @@
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.toWrappedPsbt = toWrappedPsbt;
37
- exports.toUtxoPsbt = toUtxoPsbt;
38
- exports.finalizePsbt = finalizePsbt;
39
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
40
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
41
- function toWrappedPsbt(psbt) {
42
- if (psbt instanceof utxolib.bitgo.UtxoPsbt || psbt instanceof utxolib.Psbt) {
43
- psbt = psbt.toBuffer();
44
- }
45
- if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
46
- return wasm_miniscript_1.Psbt.deserialize(psbt);
47
- }
48
- throw new Error('Invalid input');
49
- }
50
- function toUtxoPsbt(psbt, network) {
51
- if (psbt instanceof wasm_miniscript_1.Psbt) {
52
- psbt = psbt.serialize();
53
- }
54
- if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
55
- return utxolib.bitgo.UtxoPsbt.fromBuffer(Buffer.from(psbt), { network });
56
- }
57
- throw new Error('Invalid input');
58
- }
59
- /**
60
- * Use `wasm-miniscript` to finalize a PSBT.
61
- * Miniscript based finalization is more powerful than bitcoinjs-lib's / utxo-lib's finalization
62
- * and can finalize more complex scripts (e.g. miniscript descriptors).
63
- * @param psbt
64
- */
65
- function finalizePsbt(psbt) {
66
- if (utxolib.getMainnet(psbt.network) !== utxolib.networks.bitcoin) {
67
- throw new Error('only bitcoin and testnet are supported');
68
- }
69
- const wrappedPsbt = toWrappedPsbt(psbt);
70
- wrappedPsbt.finalize();
71
- const unwrappedPsbt = toUtxoPsbt(wrappedPsbt, psbt.network);
72
- for (let i = 0; i < psbt.data.inputs.length; i++) {
73
- psbt.data.inputs[i] = unwrappedPsbt.data.inputs[i];
74
- }
75
- }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL3BzYnQvd3JhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLHNDQVFDO0FBRUQsZ0NBUUM7QUFRRCxvQ0FVQztBQXZDRCw0REFBMEQ7QUFDMUQsOERBQWdEO0FBRWhELFNBQWdCLGFBQWEsQ0FBQyxJQUFpRTtJQUM3RixJQUFJLElBQUksWUFBWSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLFlBQVksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNFLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDekQsT0FBTyxzQkFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQW9DLEVBQUUsT0FBd0I7SUFDdkYsSUFBSSxJQUFJLFlBQVksc0JBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDekQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLElBQTRCO0lBQ3ZELElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRSxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkIsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHNidCBhcyBXYXNtUHNidCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1dyYXBwZWRQc2J0KHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCB1dHhvbGliLlBzYnQgfCBCdWZmZXIgfCBVaW50OEFycmF5KTogV2FzbVBzYnQge1xuICBpZiAocHNidCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfHwgcHNidCBpbnN0YW5jZW9mIHV0eG9saWIuUHNidCkge1xuICAgIHBzYnQgPSBwc2J0LnRvQnVmZmVyKCk7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBCdWZmZXIgfHwgcHNidCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICByZXR1cm4gV2FzbVBzYnQuZGVzZXJpYWxpemUocHNidCk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlucHV0Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0eG9Qc2J0KHBzYnQ6IFdhc21Qc2J0IHwgQnVmZmVyIHwgVWludDhBcnJheSwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgV2FzbVBzYnQpIHtcbiAgICBwc2J0ID0gcHNidC5zZXJpYWxpemUoKTtcbiAgfVxuICBpZiAocHNidCBpbnN0YW5jZW9mIEJ1ZmZlciB8fCBwc2J0IGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgIHJldHVybiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0LmZyb21CdWZmZXIoQnVmZmVyLmZyb20ocHNidCksIHsgbmV0d29yayB9KTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW5wdXQnKTtcbn1cblxuLyoqXG4gKiBVc2UgYHdhc20tbWluaXNjcmlwdGAgdG8gZmluYWxpemUgYSBQU0JULlxuICogTWluaXNjcmlwdCBiYXNlZCBmaW5hbGl6YXRpb24gaXMgbW9yZSBwb3dlcmZ1bCB0aGFuIGJpdGNvaW5qcy1saWIncyAvIHV0eG8tbGliJ3MgZmluYWxpemF0aW9uXG4gKiBhbmQgY2FuIGZpbmFsaXplIG1vcmUgY29tcGxleCBzY3JpcHRzIChlLmcuIG1pbmlzY3JpcHQgZGVzY3JpcHRvcnMpLlxuICogQHBhcmFtIHBzYnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmFsaXplUHNidChwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KTogdm9pZCB7XG4gIGlmICh1dHhvbGliLmdldE1haW5uZXQocHNidC5uZXR3b3JrKSAhPT0gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdvbmx5IGJpdGNvaW4gYW5kIHRlc3RuZXQgYXJlIHN1cHBvcnRlZCcpO1xuICB9XG4gIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidChwc2J0KTtcbiAgd3JhcHBlZFBzYnQuZmluYWxpemUoKTtcbiAgY29uc3QgdW53cmFwcGVkUHNidCA9IHRvVXR4b1BzYnQod3JhcHBlZFBzYnQsIHBzYnQubmV0d29yayk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcHNidC5kYXRhLmlucHV0cy5sZW5ndGg7IGkrKykge1xuICAgIHBzYnQuZGF0YS5pbnB1dHNbaV0gPSB1bndyYXBwZWRQc2J0LmRhdGEuaW5wdXRzW2ldO1xuICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * as descriptor from './descriptor';
2
- export * as testutil from './testutil';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../../../src/testutil/descriptor/descriptors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAO,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAgB,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAE7D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAsB1C;AAMD,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,kBAAkB,GAClB,SAAS,GAMT,mBAAmB,CAAC;AAoBxB,wBAAgB,aAAa,CAAC,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CASxE;AAkCD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,GAAE,SAAS,GAAG,MAAM,EAAsB,EAC9C,IAAI,SAAQ,GACX,UAAU,CAEZ;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,GAAE,SAAS,GAAG,MAAM,EAAsB,GAC7C,aAAa,CAKf"}
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getDefaultXPubs = getDefaultXPubs;
7
- exports.getUnspendableKey = getUnspendableKey;
8
- exports.getPsbtParams = getPsbtParams;
9
- exports.getDescriptor = getDescriptor;
10
- exports.getDescriptorMap = getDescriptorMap;
11
- const assert_1 = __importDefault(require("assert"));
12
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
13
- const key_utils_1 = require("../key.utils");
14
- function getDefaultXPubs(seed) {
15
- return (0, key_utils_1.getKeyTriple)(seed).map((k) => k.neutered().toBase58());
16
- }
17
- function getUnspendableKey() {
18
- /*
19
- https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#constructing-and-spending-taproot-outputs
20
-
21
- ```
22
- If one or more of the spending conditions consist of just a single key (after aggregation), the most likely one should
23
- be made the internal key. If no such condition exists, it may be worthwhile adding one that consists of an aggregation
24
- of all keys participating in all scripts combined; effectively adding an "everyone agrees" branch. If that is
25
- inacceptable, pick as internal key a "Nothing Up My Sleeve" (NUMS) point, i.e., a point with unknown discrete
26
- logarithm.
27
-
28
- One example of such a point is H = lift_x(0x50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0) which is
29
- constructed by taking the hash of the standard uncompressed encoding of the secp256k1 base point G as X coordinate.
30
- In order to avoid leaking the information that key path spending is not possible it is recommended to pick a fresh
31
- integer r in the range 0...n-1 uniformly at random and use H + rG as internal key. It is possible to prove that this
32
- internal key does not have a known discrete logarithm with respect to G by revealing r to a verifier who can then
33
- reconstruct how the internal key was created.
34
- ```
35
-
36
- We could do the random integer trick here, but for internal testing it is sufficient to use the fixed point.
37
- */
38
- return '50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0';
39
- }
40
- function toDescriptorMap(v) {
41
- return new Map(Object.entries(v).map(([k, v]) => [k, wasm_miniscript_1.Descriptor.fromString(v, 'derivable')]));
42
- }
43
- function toXPub(k, path) {
44
- if (typeof k === 'string') {
45
- return k + '/' + path;
46
- }
47
- return k.neutered().toBase58() + '/' + path;
48
- }
49
- function multiArgs(m, n, keys, path) {
50
- if (n < m) {
51
- throw new Error(`Cannot create ${m} of ${n} multisig`);
52
- }
53
- if (keys.length < n) {
54
- throw new Error(`Not enough keys for ${m} of ${n} multisig: keys.length=${keys.length}`);
55
- }
56
- keys = keys.slice(0, n);
57
- return [m, ...keys.map((k) => toXPub(k, path))];
58
- }
59
- function getPsbtParams(t) {
60
- switch (t) {
61
- case 'Wsh2Of3':
62
- case 'Wsh2Of2':
63
- case 'Tr2Of3-NoKeyPath':
64
- return {};
65
- case 'ShWsh2Of3CltvDrop':
66
- return { locktime: 1 };
67
- }
68
- }
69
- function getDescriptorNode(template, keys = getDefaultXPubs(), path = '0/*') {
70
- switch (template) {
71
- case 'Wsh2Of3':
72
- return {
73
- wsh: { multi: multiArgs(2, 3, keys, path) },
74
- };
75
- case 'ShWsh2Of3CltvDrop':
76
- const { locktime } = getPsbtParams(template);
77
- (0, assert_1.default)(locktime);
78
- return {
79
- sh: {
80
- wsh: {
81
- and_v: [{ 'r:after': locktime }, { multi: multiArgs(2, 3, keys, path) }],
82
- },
83
- },
84
- };
85
- case 'Wsh2Of2':
86
- return {
87
- wsh: { multi: multiArgs(2, 2, keys, path) },
88
- };
89
- case 'Tr2Of3-NoKeyPath':
90
- return {
91
- tr: [getUnspendableKey(), { multi_a: multiArgs(2, 3, keys, path) }],
92
- };
93
- }
94
- throw new Error(`Unknown descriptor template: ${template}`);
95
- }
96
- function getDescriptor(template, keys = getDefaultXPubs(), path = '0/*') {
97
- return wasm_miniscript_1.Descriptor.fromString(wasm_miniscript_1.ast.formatNode(getDescriptorNode(template, keys, path)), 'derivable');
98
- }
99
- function getDescriptorMap(template, keys = getDefaultXPubs()) {
100
- return toDescriptorMap({
101
- external: getDescriptor(template, keys, '0/*').toString(),
102
- internal: getDescriptor(template, keys, '1/*').toString(),
103
- });
104
- }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdHV0aWwvZGVzY3JpcHRvci9kZXNjcmlwdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVFBLDBDQUVDO0FBRUQsOENBc0JDO0FBbUNELHNDQVNDO0FBa0NELHNDQU1DO0FBRUQsNENBUUM7QUFoSUQsb0RBQTRCO0FBRTVCLDREQUF5RDtBQUl6RCw0Q0FBK0Q7QUFFL0QsU0FBZ0IsZUFBZSxDQUFDLElBQWE7SUFDM0MsT0FBTyxJQUFBLHdCQUFZLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQW1CLENBQUM7QUFDbEYsQ0FBQztBQUVELFNBQWdCLGlCQUFpQjtJQUMvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQW1CRTtJQUNGLE9BQU8sa0VBQWtFLENBQUM7QUFDNUUsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLENBQXlCO0lBQ2hELE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsNEJBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hHLENBQUM7QUFhRCxTQUFTLE1BQU0sQ0FBQyxDQUEwQixFQUFFLElBQVk7SUFDdEQsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLElBQWlDLEVBQUUsSUFBWTtJQUN0RixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsQ0FBcUI7SUFDakQsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNWLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLGtCQUFrQjtZQUNyQixPQUFPLEVBQUUsQ0FBQztRQUNaLEtBQUssbUJBQW1CO1lBQ3RCLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDM0IsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixRQUE0QixFQUM1QixPQUE2QixlQUFlLEVBQUUsRUFDOUMsSUFBSSxHQUFHLEtBQUs7SUFFWixRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssU0FBUztZQUNaLE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTthQUM1QyxDQUFDO1FBQ0osS0FBSyxtQkFBbUI7WUFDdEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxJQUFBLGdCQUFNLEVBQUMsUUFBUSxDQUFDLENBQUM7WUFDakIsT0FBTztnQkFDTCxFQUFFLEVBQUU7b0JBQ0YsR0FBRyxFQUFFO3dCQUNILEtBQUssRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO3FCQUN6RTtpQkFDRjthQUNGLENBQUM7UUFDSixLQUFLLFNBQVM7WUFDWixPQUFPO2dCQUNMLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7YUFDNUMsQ0FBQztRQUNKLEtBQUssa0JBQWtCO1lBQ3JCLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUNwRSxDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FDM0IsUUFBNEIsRUFDNUIsT0FBNkIsZUFBZSxFQUFFLEVBQzlDLElBQUksR0FBRyxLQUFLO0lBRVosT0FBTyw0QkFBVSxDQUFDLFVBQVUsQ0FBQyxxQkFBRyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDckcsQ0FBQztBQUVELFNBQWdCLGdCQUFnQixDQUM5QixRQUE0QixFQUM1QixPQUE2QixlQUFlLEVBQUU7SUFFOUMsT0FBTyxlQUFlLENBQUM7UUFDckIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUN6RCxRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFO0tBQzFELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IERlc2NyaXB0b3IsIGFzdCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JNYXAsIFBzYnRQYXJhbXMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGdldEtleVRyaXBsZSwgVHJpcGxlLCBLZXlUcmlwbGUgfSBmcm9tICcuLi9rZXkudXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFhQdWJzKHNlZWQ/OiBzdHJpbmcpOiBUcmlwbGU8c3RyaW5nPiB7XG4gIHJldHVybiBnZXRLZXlUcmlwbGUoc2VlZCkubWFwKChrKSA9PiBrLm5ldXRlcmVkKCkudG9CYXNlNTgoKSkgYXMgVHJpcGxlPHN0cmluZz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbnNwZW5kYWJsZUtleSgpOiBzdHJpbmcge1xuICAvKlxuICBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL2Jsb2IvbWFzdGVyL2JpcC0wMzQxLm1lZGlhd2lraSNjb25zdHJ1Y3RpbmctYW5kLXNwZW5kaW5nLXRhcHJvb3Qtb3V0cHV0c1xuXG4gIGBgYFxuICBJZiBvbmUgb3IgbW9yZSBvZiB0aGUgc3BlbmRpbmcgY29uZGl0aW9ucyBjb25zaXN0IG9mIGp1c3QgYSBzaW5nbGUga2V5IChhZnRlciBhZ2dyZWdhdGlvbiksIHRoZSBtb3N0IGxpa2VseSBvbmUgc2hvdWxkXG4gIGJlIG1hZGUgdGhlIGludGVybmFsIGtleS4gSWYgbm8gc3VjaCBjb25kaXRpb24gZXhpc3RzLCBpdCBtYXkgYmUgd29ydGh3aGlsZSBhZGRpbmcgb25lIHRoYXQgY29uc2lzdHMgb2YgYW4gYWdncmVnYXRpb25cbiAgb2YgYWxsIGtleXMgcGFydGljaXBhdGluZyBpbiBhbGwgc2NyaXB0cyBjb21iaW5lZDsgZWZmZWN0aXZlbHkgYWRkaW5nIGFuIFwiZXZlcnlvbmUgYWdyZWVzXCIgYnJhbmNoLiBJZiB0aGF0IGlzXG4gIGluYWNjZXB0YWJsZSwgcGljayBhcyBpbnRlcm5hbCBrZXkgYSBcIk5vdGhpbmcgVXAgTXkgU2xlZXZlXCIgKE5VTVMpIHBvaW50LCBpLmUuLCBhIHBvaW50IHdpdGggdW5rbm93biBkaXNjcmV0ZVxuICBsb2dhcml0aG0uXG5cbiAgT25lIGV4YW1wbGUgb2Ygc3VjaCBhIHBvaW50IGlzIEggPSBsaWZ0X3goMHg1MDkyOWI3NGMxYTA0OTU0Yjc4YjRiNjAzNWU5N2E1ZTA3OGE1YTBmMjhlYzk2ZDU0N2JmZWU5YWNlODAzYWMwKSB3aGljaCBpc1xuICBjb25zdHJ1Y3RlZCBieSB0YWtpbmcgdGhlIGhhc2ggb2YgdGhlIHN0YW5kYXJkIHVuY29tcHJlc3NlZCBlbmNvZGluZyBvZiB0aGUgc2VjcDI1NmsxIGJhc2UgcG9pbnQgRyBhcyBYIGNvb3JkaW5hdGUuXG4gIEluIG9yZGVyIHRvIGF2b2lkIGxlYWtpbmcgdGhlIGluZm9ybWF0aW9uIHRoYXQga2V5IHBhdGggc3BlbmRpbmcgaXMgbm90IHBvc3NpYmxlIGl0IGlzIHJlY29tbWVuZGVkIHRvIHBpY2sgYSBmcmVzaFxuICBpbnRlZ2VyIHIgaW4gdGhlIHJhbmdlIDAuLi5uLTEgdW5pZm9ybWx5IGF0IHJhbmRvbSBhbmQgdXNlIEggKyByRyBhcyBpbnRlcm5hbCBrZXkuIEl0IGlzIHBvc3NpYmxlIHRvIHByb3ZlIHRoYXQgdGhpc1xuICBpbnRlcm5hbCBrZXkgZG9lcyBub3QgaGF2ZSBhIGtub3duIGRpc2NyZXRlIGxvZ2FyaXRobSB3aXRoIHJlc3BlY3QgdG8gRyBieSByZXZlYWxpbmcgciB0byBhIHZlcmlmaWVyIHdobyBjYW4gdGhlblxuICByZWNvbnN0cnVjdCBob3cgdGhlIGludGVybmFsIGtleSB3YXMgY3JlYXRlZC5cbiAgYGBgXG5cbiAgV2UgY291bGQgZG8gdGhlIHJhbmRvbSBpbnRlZ2VyIHRyaWNrIGhlcmUsIGJ1dCBmb3IgaW50ZXJuYWwgdGVzdGluZyBpdCBpcyBzdWZmaWNpZW50IHRvIHVzZSB0aGUgZml4ZWQgcG9pbnQuXG4gICovXG4gIHJldHVybiAnNTA5MjliNzRjMWEwNDk1NGI3OGI0YjYwMzVlOTdhNWUwNzhhNWEwZjI4ZWM5NmQ1NDdiZmVlOWFjZTgwM2FjMCc7XG59XG5cbmZ1bmN0aW9uIHRvRGVzY3JpcHRvck1hcCh2OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogRGVzY3JpcHRvck1hcCB7XG4gIHJldHVybiBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKHYpLm1hcCgoW2ssIHZdKSA9PiBbaywgRGVzY3JpcHRvci5mcm9tU3RyaW5nKHYsICdkZXJpdmFibGUnKV0pKTtcbn1cblxuZXhwb3J0IHR5cGUgRGVzY3JpcHRvclRlbXBsYXRlID1cbiAgfCAnV3NoMk9mMydcbiAgfCAnVHIyT2YzLU5vS2V5UGF0aCdcbiAgfCAnV3NoMk9mMidcbiAgLypcbiAgICogVGhpcyBpcyBhIHdyYXBwZWQgc2Vnd2l0IDJvZjMgbXVsdGlzaWcgdGhhdCBhbHNvIHVzZXMgYSByZWxhdGl2ZSBsb2NrdGltZSB3aXRoXG4gICAqIGFuIE9QX0RST1AgKHJlcXVpcmluZyBhIG1pbmlzY3JpcHQgZXh0ZW5zaW9uKS5cbiAgICogSXQgaXMgYmFzaWNhbGx5IHdoYXQgaXMgdXNlZCBpbiBDb3JlRGFvIHN0YWtpbmcgdHJhbnNhY3Rpb25zLlxuICAgKi9cbiAgfCAnU2hXc2gyT2YzQ2x0dkRyb3AnO1xuXG5mdW5jdGlvbiB0b1hQdWIoazogQklQMzJJbnRlcmZhY2UgfCBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgayA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gayArICcvJyArIHBhdGg7XG4gIH1cbiAgcmV0dXJuIGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpICsgJy8nICsgcGF0aDtcbn1cblxuZnVuY3Rpb24gbXVsdGlBcmdzKG06IG51bWJlciwgbjogbnVtYmVyLCBrZXlzOiBCSVAzMkludGVyZmFjZVtdIHwgc3RyaW5nW10sIHBhdGg6IHN0cmluZyk6IFtudW1iZXIsIC4uLnN0cmluZ1tdXSB7XG4gIGlmIChuIDwgbSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGNyZWF0ZSAke219IG9mICR7bn0gbXVsdGlzaWdgKTtcbiAgfVxuICBpZiAoa2V5cy5sZW5ndGggPCBuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgZW5vdWdoIGtleXMgZm9yICR7bX0gb2YgJHtufSBtdWx0aXNpZzoga2V5cy5sZW5ndGg9JHtrZXlzLmxlbmd0aH1gKTtcbiAgfVxuICBrZXlzID0ga2V5cy5zbGljZSgwLCBuKTtcbiAgcmV0dXJuIFttLCAuLi5rZXlzLm1hcCgoaykgPT4gdG9YUHViKGssIHBhdGgpKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQc2J0UGFyYW1zKHQ6IERlc2NyaXB0b3JUZW1wbGF0ZSk6IFBhcnRpYWw8UHNidFBhcmFtcz4ge1xuICBzd2l0Y2ggKHQpIHtcbiAgICBjYXNlICdXc2gyT2YzJzpcbiAgICBjYXNlICdXc2gyT2YyJzpcbiAgICBjYXNlICdUcjJPZjMtTm9LZXlQYXRoJzpcbiAgICAgIHJldHVybiB7fTtcbiAgICBjYXNlICdTaFdzaDJPZjNDbHR2RHJvcCc6XG4gICAgICByZXR1cm4geyBsb2NrdGltZTogMSB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldERlc2NyaXB0b3JOb2RlKFxuICB0ZW1wbGF0ZTogRGVzY3JpcHRvclRlbXBsYXRlLFxuICBrZXlzOiBLZXlUcmlwbGUgfCBzdHJpbmdbXSA9IGdldERlZmF1bHRYUHVicygpLFxuICBwYXRoID0gJzAvKidcbik6IGFzdC5EZXNjcmlwdG9yTm9kZSB7XG4gIHN3aXRjaCAodGVtcGxhdGUpIHtcbiAgICBjYXNlICdXc2gyT2YzJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdzaDogeyBtdWx0aTogbXVsdGlBcmdzKDIsIDMsIGtleXMsIHBhdGgpIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ1NoV3NoMk9mM0NsdHZEcm9wJzpcbiAgICAgIGNvbnN0IHsgbG9ja3RpbWUgfSA9IGdldFBzYnRQYXJhbXModGVtcGxhdGUpO1xuICAgICAgYXNzZXJ0KGxvY2t0aW1lKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNoOiB7XG4gICAgICAgICAgd3NoOiB7XG4gICAgICAgICAgICBhbmRfdjogW3sgJ3I6YWZ0ZXInOiBsb2NrdGltZSB9LCB7IG11bHRpOiBtdWx0aUFyZ3MoMiwgMywga2V5cywgcGF0aCkgfV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgY2FzZSAnV3NoMk9mMic6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3c2g6IHsgbXVsdGk6IG11bHRpQXJncygyLCAyLCBrZXlzLCBwYXRoKSB9LFxuICAgICAgfTtcbiAgICBjYXNlICdUcjJPZjMtTm9LZXlQYXRoJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRyOiBbZ2V0VW5zcGVuZGFibGVLZXkoKSwgeyBtdWx0aV9hOiBtdWx0aUFyZ3MoMiwgMywga2V5cywgcGF0aCkgfV0sXG4gICAgICB9O1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBkZXNjcmlwdG9yIHRlbXBsYXRlOiAke3RlbXBsYXRlfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvcihcbiAgdGVtcGxhdGU6IERlc2NyaXB0b3JUZW1wbGF0ZSxcbiAga2V5czogS2V5VHJpcGxlIHwgc3RyaW5nW10gPSBnZXREZWZhdWx0WFB1YnMoKSxcbiAgcGF0aCA9ICcwLyonXG4pOiBEZXNjcmlwdG9yIHtcbiAgcmV0dXJuIERlc2NyaXB0b3IuZnJvbVN0cmluZyhhc3QuZm9ybWF0Tm9kZShnZXREZXNjcmlwdG9yTm9kZSh0ZW1wbGF0ZSwga2V5cywgcGF0aCkpLCAnZGVyaXZhYmxlJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yTWFwKFxuICB0ZW1wbGF0ZTogRGVzY3JpcHRvclRlbXBsYXRlLFxuICBrZXlzOiBLZXlUcmlwbGUgfCBzdHJpbmdbXSA9IGdldERlZmF1bHRYUHVicygpXG4pOiBEZXNjcmlwdG9yTWFwIHtcbiAgcmV0dXJuIHRvRGVzY3JpcHRvck1hcCh7XG4gICAgZXh0ZXJuYWw6IGdldERlc2NyaXB0b3IodGVtcGxhdGUsIGtleXMsICcwLyonKS50b1N0cmluZygpLFxuICAgIGludGVybmFsOiBnZXREZXNjcmlwdG9yKHRlbXBsYXRlLCBrZXlzLCAnMS8qJykudG9TdHJpbmcoKSxcbiAgfSk7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock.utils.d.ts","sourceRoot":"","sources":["../../../../src/testutil/descriptor/mock.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAgD,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAkC,MAAM,eAAe,CAAC;AAEnF,KAAK,kBAAkB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,KAAK,8BAA8B,GAAG;IACpC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAWF,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,EACtB,YAAY,GAAE,8BAAmC,GAChD,6BAA6B,CAY/B;AAED,KAAK,SAAS,GAAG,8BAA8B,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,UAAU,EAAE,EACrB,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAC/B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAaxB;AAED,wBAAgB,eAAe,CAAC,EAC9B,cAA+D,EAC/D,eAAgE,EAChE,MAAW,GACZ,GAAE;IACD,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACzB,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAY9B;AAED,wBAAgB,qCAAqC,CACnD,CAAC,EAAE,kBAAkB,EACrB,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAC/B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAMxB"}
@@ -1,87 +0,0 @@
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.mockDerivedDescriptorWalletOutput = mockDerivedDescriptorWalletOutput;
37
- exports.mockPsbt = mockPsbt;
38
- exports.mockPsbtDefault = mockPsbtDefault;
39
- exports.mockPsbtDefaultWithDescriptorTemplate = mockPsbtDefaultWithDescriptorTemplate;
40
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
41
- const descriptor_1 = require("../../descriptor");
42
- const descriptors_1 = require("./descriptors");
43
- function mockOutputId(id) {
44
- const hash = id?.hash ?? Buffer.alloc(32, 1).toString('hex');
45
- const vout = id?.vout ?? 0;
46
- return { hash, vout };
47
- }
48
- function mockDerivedDescriptorWalletOutput(descriptor, outputParams = {}) {
49
- const { value = BigInt(1e6) } = outputParams;
50
- const { hash, vout } = mockOutputId(outputParams.id);
51
- return {
52
- hash,
53
- index: vout,
54
- witnessUtxo: {
55
- script: (0, descriptor_1.createScriptPubKeyFromDescriptor)(descriptor),
56
- value,
57
- },
58
- descriptor,
59
- };
60
- }
61
- function mockPsbt(inputs, outputs, params = {}) {
62
- return (0, descriptor_1.createPsbt)({ ...params, network: params.network ?? utxolib.networks.bitcoin }, inputs.map((i) => mockDerivedDescriptorWalletOutput(i.descriptor.atDerivationIndex(i.index), i)), outputs.map((o) => {
63
- const derivedDescriptor = o.descriptor.atDerivationIndex(o.index);
64
- return {
65
- script: (0, descriptor_1.createScriptPubKeyFromDescriptor)(derivedDescriptor),
66
- value: o.value,
67
- descriptor: o.external ? undefined : derivedDescriptor,
68
- };
69
- }));
70
- }
71
- function mockPsbtDefault({ descriptorSelf = (0, descriptors_1.getDescriptor)('Wsh2Of3', (0, descriptors_1.getDefaultXPubs)('a')), descriptorOther = (0, descriptors_1.getDescriptor)('Wsh2Of3', (0, descriptors_1.getDefaultXPubs)('b')), params = {}, } = {}) {
72
- return mockPsbt([
73
- { descriptor: descriptorSelf, index: 0 },
74
- { descriptor: descriptorSelf, index: 1, id: { vout: 1 } },
75
- ], [
76
- { descriptor: descriptorOther, index: 0, value: BigInt(4e5), external: true },
77
- { descriptor: descriptorSelf, index: 0, value: BigInt(4e5) },
78
- ], params);
79
- }
80
- function mockPsbtDefaultWithDescriptorTemplate(t, params = {}) {
81
- return mockPsbtDefault({
82
- descriptorSelf: (0, descriptors_1.getDescriptor)(t, (0, descriptors_1.getDefaultXPubs)('a')),
83
- descriptorOther: (0, descriptors_1.getDescriptor)(t, (0, descriptors_1.getDefaultXPubs)('b')),
84
- params,
85
- });
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL21vY2sudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5QkEsOEVBZUM7QUFjRCw0QkFpQkM7QUFFRCwwQ0FvQkM7QUFFRCxzRkFTQztBQXZHRCw4REFBZ0Q7QUFFaEQsaURBQTRGO0FBRzVGLCtDQUFtRjtBQVVuRixTQUFTLFlBQVksQ0FBQyxFQUF1QjtJQUkzQyxNQUFNLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxNQUFNLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUMzQixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3hCLENBQUM7QUFFRCxTQUFnQixpQ0FBaUMsQ0FDL0MsVUFBc0IsRUFDdEIsZUFBK0MsRUFBRTtJQUVqRCxNQUFNLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQztJQUM3QyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckQsT0FBTztRQUNMLElBQUk7UUFDSixLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRTtZQUNYLE1BQU0sRUFBRSxJQUFBLDZDQUFnQyxFQUFDLFVBQVUsQ0FBQztZQUNwRCxLQUFLO1NBQ047UUFDRCxVQUFVO0tBQ1gsQ0FBQztBQUNKLENBQUM7QUFjRCxTQUFnQixRQUFRLENBQ3RCLE1BQW1CLEVBQ25CLE9BQXFCLEVBQ3JCLFNBQThCLEVBQUU7SUFFaEMsT0FBTyxJQUFBLHVCQUFVLEVBQ2YsRUFBRSxHQUFHLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUNsRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNoRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDaEIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUEsNkNBQWdDLEVBQUMsaUJBQWlCLENBQUM7WUFDM0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1lBQ2QsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1NBQ3ZELENBQUM7SUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxFQUM5QixjQUFjLEdBQUcsSUFBQSwyQkFBYSxFQUFDLFNBQVMsRUFBRSxJQUFBLDZCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFDL0QsZUFBZSxHQUFHLElBQUEsMkJBQWEsRUFBQyxTQUFTLEVBQUUsSUFBQSw2QkFBZSxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ2hFLE1BQU0sR0FBRyxFQUFFLE1BS1QsRUFBRTtJQUNKLE9BQU8sUUFBUSxDQUNiO1FBQ0UsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7UUFDeEMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO0tBQzFELEVBQ0Q7UUFDRSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFDN0UsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtLQUM3RCxFQUNELE1BQU0sQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHFDQUFxQyxDQUNuRCxDQUFxQixFQUNyQixTQUE4QixFQUFFO0lBRWhDLE9BQU8sZUFBZSxDQUFDO1FBQ3JCLGNBQWMsRUFBRSxJQUFBLDJCQUFhLEVBQUMsQ0FBQyxFQUFFLElBQUEsNkJBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxlQUFlLEVBQUUsSUFBQSwyQkFBYSxFQUFDLENBQUMsRUFBRSxJQUFBLDZCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTTtLQUNQLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgUHNidFBhcmFtcywgY3JlYXRlUHNidCwgY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IERlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0IH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvci9PdXRwdXQnO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yVGVtcGxhdGUsIGdldERlZmF1bHRYUHVicywgZ2V0RGVzY3JpcHRvciB9IGZyb20gJy4vZGVzY3JpcHRvcnMnO1xuXG50eXBlIE1vY2tPdXRwdXRJZFBhcmFtcyA9IHsgaGFzaD86IHN0cmluZzsgdm91dD86IG51bWJlciB9O1xuXG50eXBlIEJhc2VNb2NrRGVzY3JpcHRvck91dHB1dFBhcmFtcyA9IHtcbiAgaWQ/OiBNb2NrT3V0cHV0SWRQYXJhbXM7XG4gIGluZGV4PzogbnVtYmVyO1xuICB2YWx1ZT86IGJpZ2ludDtcbn07XG5cbmZ1bmN0aW9uIG1vY2tPdXRwdXRJZChpZD86IE1vY2tPdXRwdXRJZFBhcmFtcyk6IHtcbiAgaGFzaDogc3RyaW5nO1xuICB2b3V0OiBudW1iZXI7XG59IHtcbiAgY29uc3QgaGFzaCA9IGlkPy5oYXNoID8/IEJ1ZmZlci5hbGxvYygzMiwgMSkudG9TdHJpbmcoJ2hleCcpO1xuICBjb25zdCB2b3V0ID0gaWQ/LnZvdXQgPz8gMDtcbiAgcmV0dXJuIHsgaGFzaCwgdm91dCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja0Rlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0KFxuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICBvdXRwdXRQYXJhbXM6IEJhc2VNb2NrRGVzY3JpcHRvck91dHB1dFBhcmFtcyA9IHt9XG4pOiBEZXJpdmVkRGVzY3JpcHRvcldhbGxldE91dHB1dCB7XG4gIGNvbnN0IHsgdmFsdWUgPSBCaWdJbnQoMWU2KSB9ID0gb3V0cHV0UGFyYW1zO1xuICBjb25zdCB7IGhhc2gsIHZvdXQgfSA9IG1vY2tPdXRwdXRJZChvdXRwdXRQYXJhbXMuaWQpO1xuICByZXR1cm4ge1xuICAgIGhhc2gsXG4gICAgaW5kZXg6IHZvdXQsXG4gICAgd2l0bmVzc1V0eG86IHtcbiAgICAgIHNjcmlwdDogY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVzY3JpcHRvciksXG4gICAgICB2YWx1ZSxcbiAgICB9LFxuICAgIGRlc2NyaXB0b3IsXG4gIH07XG59XG5cbnR5cGUgTW9ja0lucHV0ID0gQmFzZU1vY2tEZXNjcmlwdG9yT3V0cHV0UGFyYW1zICYge1xuICBpbmRleDogbnVtYmVyO1xuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yO1xufTtcblxudHlwZSBNb2NrT3V0cHV0ID0ge1xuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yO1xuICBpbmRleDogbnVtYmVyO1xuICB2YWx1ZTogYmlnaW50O1xuICBleHRlcm5hbD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1BzYnQoXG4gIGlucHV0czogTW9ja0lucHV0W10sXG4gIG91dHB1dHM6IE1vY2tPdXRwdXRbXSxcbiAgcGFyYW1zOiBQYXJ0aWFsPFBzYnRQYXJhbXM+ID0ge31cbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICByZXR1cm4gY3JlYXRlUHNidChcbiAgICB7IC4uLnBhcmFtcywgbmV0d29yazogcGFyYW1zLm5ldHdvcmsgPz8gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luIH0sXG4gICAgaW5wdXRzLm1hcCgoaSkgPT4gbW9ja0Rlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0KGkuZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChpLmluZGV4KSwgaSkpLFxuICAgIG91dHB1dHMubWFwKChvKSA9PiB7XG4gICAgICBjb25zdCBkZXJpdmVkRGVzY3JpcHRvciA9IG8uZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChvLmluZGV4KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNjcmlwdDogY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVyaXZlZERlc2NyaXB0b3IpLFxuICAgICAgICB2YWx1ZTogby52YWx1ZSxcbiAgICAgICAgZGVzY3JpcHRvcjogby5leHRlcm5hbCA/IHVuZGVmaW5lZCA6IGRlcml2ZWREZXNjcmlwdG9yLFxuICAgICAgfTtcbiAgICB9KVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1BzYnREZWZhdWx0KHtcbiAgZGVzY3JpcHRvclNlbGYgPSBnZXREZXNjcmlwdG9yKCdXc2gyT2YzJywgZ2V0RGVmYXVsdFhQdWJzKCdhJykpLFxuICBkZXNjcmlwdG9yT3RoZXIgPSBnZXREZXNjcmlwdG9yKCdXc2gyT2YzJywgZ2V0RGVmYXVsdFhQdWJzKCdiJykpLFxuICBwYXJhbXMgPSB7fSxcbn06IHtcbiAgZGVzY3JpcHRvclNlbGY/OiBEZXNjcmlwdG9yO1xuICBkZXNjcmlwdG9yT3RoZXI/OiBEZXNjcmlwdG9yO1xuICBwYXJhbXM/OiBQYXJ0aWFsPFBzYnRQYXJhbXM+O1xufSA9IHt9KTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIHJldHVybiBtb2NrUHNidChcbiAgICBbXG4gICAgICB7IGRlc2NyaXB0b3I6IGRlc2NyaXB0b3JTZWxmLCBpbmRleDogMCB9LFxuICAgICAgeyBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yU2VsZiwgaW5kZXg6IDEsIGlkOiB7IHZvdXQ6IDEgfSB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgeyBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yT3RoZXIsIGluZGV4OiAwLCB2YWx1ZTogQmlnSW50KDRlNSksIGV4dGVybmFsOiB0cnVlIH0sXG4gICAgICB7IGRlc2NyaXB0b3I6IGRlc2NyaXB0b3JTZWxmLCBpbmRleDogMCwgdmFsdWU6IEJpZ0ludCg0ZTUpIH0sXG4gICAgXSxcbiAgICBwYXJhbXNcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tQc2J0RGVmYXVsdFdpdGhEZXNjcmlwdG9yVGVtcGxhdGUoXG4gIHQ6IERlc2NyaXB0b3JUZW1wbGF0ZSxcbiAgcGFyYW1zOiBQYXJ0aWFsPFBzYnRQYXJhbXM+ID0ge31cbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICByZXR1cm4gbW9ja1BzYnREZWZhdWx0KHtcbiAgICBkZXNjcmlwdG9yU2VsZjogZ2V0RGVzY3JpcHRvcih0LCBnZXREZWZhdWx0WFB1YnMoJ2EnKSksXG4gICAgZGVzY3JpcHRvck90aGVyOiBnZXREZXNjcmlwdG9yKHQsIGdldERlZmF1bHRYUHVicygnYicpKSxcbiAgICBwYXJhbXMsXG4gIH0pO1xufVxuIl19
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toPlainObjectFromPsbt = toPlainObjectFromPsbt;
4
- exports.toPlainObjectFromTx = toPlainObjectFromTx;
5
- const toPlainObject_utils_1 = require("../../../src/testutil/toPlainObject.utils");
6
- function toPlainObjectFromPsbt(v) {
7
- return (0, toPlainObject_utils_1.toPlainObject)(v, {
8
- propertyDescriptors: true,
9
- ignorePaths(path) {
10
- return ((0, toPlainObject_utils_1.matchPath)(path, ['__CACHE']) ||
11
- (0, toPlainObject_utils_1.matchPath)(path, ['opts', 'network']) ||
12
- (0, toPlainObject_utils_1.matchPath)(path, ['data', 'globalMap', 'unsignedTx', 'tx', 'network']) ||
13
- (0, toPlainObject_utils_1.matchPath)(path, ['network']));
14
- },
15
- }, []);
16
- }
17
- function toPlainObjectFromTx(v) {
18
- return (0, toPlainObject_utils_1.toPlainObject)(v, {}, []);
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHNidC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL3BzYnQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzREFnQkM7QUFFRCxrREFFQztBQXRCRCxtRkFBa0c7QUFFbEcsU0FBZ0IscUJBQXFCLENBQUMsQ0FBZTtJQUNuRCxPQUFPLElBQUEsbUNBQWEsRUFDbEIsQ0FBQyxFQUNEO1FBQ0UsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixXQUFXLENBQUMsSUFBbUI7WUFDN0IsT0FBTyxDQUNMLElBQUEsK0JBQVMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsSUFBQSwrQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDcEMsSUFBQSwrQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckUsSUFBQSwrQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzdCLENBQUM7UUFDSixDQUFDO0tBQ0YsRUFDRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FBQyxDQUFzQjtJQUN4RCxPQUFPLElBQUEsbUNBQWEsRUFBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgbWF0Y2hQYXRoLCBQYXRoRWxlbWVudCwgdG9QbGFpbk9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3NyYy90ZXN0dXRpbC90b1BsYWluT2JqZWN0LnV0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5PYmplY3RGcm9tUHNidCh2OiB1dHhvbGliLlBzYnQpOiB1bmtub3duIHtcbiAgcmV0dXJuIHRvUGxhaW5PYmplY3QoXG4gICAgdixcbiAgICB7XG4gICAgICBwcm9wZXJ0eURlc2NyaXB0b3JzOiB0cnVlLFxuICAgICAgaWdub3JlUGF0aHMocGF0aDogUGF0aEVsZW1lbnRbXSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIG1hdGNoUGF0aChwYXRoLCBbJ19fQ0FDSEUnXSkgfHxcbiAgICAgICAgICBtYXRjaFBhdGgocGF0aCwgWydvcHRzJywgJ25ldHdvcmsnXSkgfHxcbiAgICAgICAgICBtYXRjaFBhdGgocGF0aCwgWydkYXRhJywgJ2dsb2JhbE1hcCcsICd1bnNpZ25lZFR4JywgJ3R4JywgJ25ldHdvcmsnXSkgfHxcbiAgICAgICAgICBtYXRjaFBhdGgocGF0aCwgWyduZXR3b3JrJ10pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gICAgW11cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5PYmplY3RGcm9tVHgodjogdXR4b2xpYi5UcmFuc2FjdGlvbik6IHVua25vd24ge1xuICByZXR1cm4gdG9QbGFpbk9iamVjdCh2LCB7fSwgW10pO1xufVxuIl19
@@ -1,4 +0,0 @@
1
- export * from './fixtures.utils';
2
- export * from './key.utils';
3
- export * from './toPlainObject.utils';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,59 +0,0 @@
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.getKey = getKey;
37
- exports.getKeyTriple = getKeyTriple;
38
- exports.getRootWalletKeys = getRootWalletKeys;
39
- const crypto = __importStar(require("crypto"));
40
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
41
- /**
42
- * Create new bip32 key. Uses random seed if none is passed.
43
- * @param seed
44
- */
45
- function getKey(seed) {
46
- const finalSeed = seed === undefined ? crypto.randomBytes(32) : crypto.createHash('sha256').update(seed).digest();
47
- return utxolib.bip32.fromSeed(finalSeed);
48
- }
49
- /**
50
- * Return deterministic key triple of bip32 keys
51
- * @param prefix
52
- */
53
- function getKeyTriple(prefix = '') {
54
- return Array.from({ length: 3 }).map((_, i) => getKey(`${prefix}${i}`));
55
- }
56
- function getRootWalletKeys(prefix = '', derivationPrefixes) {
57
- return new utxolib.bitgo.RootWalletKeys(getKeyTriple(prefix), derivationPrefixes);
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rlc3R1dGlsL2tleS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLHdCQUdDO0FBTUQsb0NBRUM7QUFFRCw4Q0FFQztBQTVCRCwrQ0FBaUM7QUFFakMsOERBQWdEO0FBT2hEOzs7R0FHRztBQUNILFNBQWdCLE1BQU0sQ0FBQyxJQUFhO0lBQ2xDLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xILE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRTtJQUN0QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBYyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLGtCQUFtQztJQUNoRixPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgdHlwZSBUcmlwbGU8VD4gPSBbVCwgVCwgVF07XG5cbmV4cG9ydCB0eXBlIEtleVRyaXBsZSA9IFRyaXBsZTxCSVAzMkludGVyZmFjZT47XG5cbi8qKlxuICogQ3JlYXRlIG5ldyBiaXAzMiBrZXkuIFVzZXMgcmFuZG9tIHNlZWQgaWYgbm9uZSBpcyBwYXNzZWQuXG4gKiBAcGFyYW0gc2VlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5KHNlZWQ/OiBzdHJpbmcpOiBCSVAzMkludGVyZmFjZSB7XG4gIGNvbnN0IGZpbmFsU2VlZCA9IHNlZWQgPT09IHVuZGVmaW5lZCA/IGNyeXB0by5yYW5kb21CeXRlcygzMikgOiBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHNlZWQpLmRpZ2VzdCgpO1xuICByZXR1cm4gdXR4b2xpYi5iaXAzMi5mcm9tU2VlZChmaW5hbFNlZWQpO1xufVxuXG4vKipcbiAqIFJldHVybiBkZXRlcm1pbmlzdGljIGtleSB0cmlwbGUgb2YgYmlwMzIga2V5c1xuICogQHBhcmFtIHByZWZpeFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5VHJpcGxlKHByZWZpeCA9ICcnKTogS2V5VHJpcGxlIHtcbiAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDMgfSkubWFwKChfLCBpKSA9PiBnZXRLZXkoYCR7cHJlZml4fSR7aX1gKSkgYXMgS2V5VHJpcGxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdFdhbGxldEtleXMocHJlZml4ID0gJycsIGRlcml2YXRpb25QcmVmaXhlcz86IFRyaXBsZTxzdHJpbmc+KTogdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cyB7XG4gIHJldHVybiBuZXcgdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cyhnZXRLZXlUcmlwbGUocHJlZml4KSwgZGVyaXZhdGlvblByZWZpeGVzKTtcbn1cbiJdfQ==