@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
package/package.json CHANGED
@@ -1,33 +1,60 @@
1
1
  {
2
2
  "name": "@bitgo-beta/utxo-core",
3
- "version": "1.0.1-alpha.2",
3
+ "version": "1.0.1-alpha.200",
4
4
  "description": "BitGo UTXO Core types",
5
- "main": "./dist/src/index.js",
6
- "types": "./dist/src/index.d.ts",
5
+ "main": "./dist/cjs/src/index.js",
6
+ "module": "./dist/esm/index.js",
7
+ "browser": "./dist/esm/index.js",
8
+ "types": "./dist/cjs/src/index.d.ts",
7
9
  "files": [
8
- "dist/src"
10
+ "dist/cjs",
11
+ "dist/esm"
9
12
  ],
10
13
  "exports": {
11
- ".": "./dist/src/index.js",
12
- "./descriptor": "./dist/src/descriptor/index.js",
13
- "./testutil": "./dist/src/testutil/index.js",
14
- "./testutil/descriptor": "./dist/src/testutil/descriptor/index.js"
15
- },
16
- "browser": {
17
- ".": "./dist/src/index.js",
18
- "./descriptor": "./dist/src/descriptor/index.js",
19
- "./testutil": "./dist/src/testutil/index.js",
20
- "./testutil/descriptor": "./dist/src/testutil/descriptor/index.js"
14
+ ".": {
15
+ "import": {
16
+ "types": "./dist/esm/index.d.ts",
17
+ "default": "./dist/esm/index.js"
18
+ },
19
+ "require": {
20
+ "types": "./dist/cjs/src/index.d.ts",
21
+ "default": "./dist/cjs/src/index.js"
22
+ }
23
+ },
24
+ "./descriptor": {
25
+ "import": {
26
+ "types": "./dist/esm/descriptor/index.d.ts",
27
+ "default": "./dist/esm/descriptor/index.js"
28
+ },
29
+ "require": {
30
+ "types": "./dist/cjs/src/descriptor/index.d.ts",
31
+ "default": "./dist/cjs/src/descriptor/index.js"
32
+ }
33
+ },
34
+ "./testutil": {
35
+ "require": {
36
+ "types": "./dist/cjs/src/testutil/index.d.ts",
37
+ "default": "./dist/cjs/src/testutil/index.js"
38
+ }
39
+ },
40
+ "./testutil/descriptor": {
41
+ "require": {
42
+ "types": "./dist/cjs/src/testutil/descriptor/index.d.ts",
43
+ "default": "./dist/cjs/src/testutil/descriptor/index.js"
44
+ }
45
+ }
21
46
  },
22
47
  "scripts": {
23
- "build": "yarn tsc --build --incremental --verbose .",
48
+ "build": "npm run build:cjs && npm run build:esm",
49
+ "build:cjs": "yarn tsc --build --incremental --verbose .",
50
+ "build:esm": "yarn tsc --project tsconfig.esm.json",
24
51
  "fmt": "prettier --write .",
25
- "check-fmt": "prettier --check .",
52
+ "check-fmt": "prettier --check '**/*.{ts,js,json}'",
26
53
  "clean": "rm -r ./dist",
27
54
  "lint": "eslint --quiet .",
28
55
  "prepare": "npm run build",
29
56
  "test": "npm run unit-test",
30
- "unit-test": "mocha --recursive test/"
57
+ "unit-test": "mocha --recursive \"test/**/*.ts\""
31
58
  },
32
59
  "author": "BitGo SDK Team <sdkteam@bitgo.com>",
33
60
  "license": "MIT",
@@ -51,10 +78,12 @@
51
78
  ]
52
79
  },
53
80
  "dependencies": {
54
- "@bitgo-beta/unspents": "0.11.3-alpha.272",
55
- "@bitgo-beta/utxo-lib": "4.0.1-alpha.272",
56
- "@bitgo/wasm-miniscript": "^2.0.0-beta.4",
57
- "bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4"
81
+ "@bitgo-beta/secp256k1": "1.0.1-alpha.427",
82
+ "@bitgo-beta/unspents": "0.11.3-alpha.470",
83
+ "@bitgo-beta/utxo-lib": "4.0.1-alpha.470",
84
+ "@bitgo/wasm-utxo": "^1.36.0",
85
+ "bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4",
86
+ "fast-sha256": "^1.3.0"
58
87
  },
59
- "gitHead": "903713807adb1f9a84b4191966c8d75a70acffb2"
88
+ "gitHead": "eff0784f91e5aa69238788bcaf727db53c7e4815"
60
89
  }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toDescriptorMap = toDescriptorMap;
4
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
5
- /** Convert an array of descriptor name-value pairs to a descriptor map */
6
- function toDescriptorMap(descriptors) {
7
- return new Map(descriptors.map((d) => [
8
- d.name,
9
- d.value instanceof wasm_miniscript_1.Descriptor ? d.value : wasm_miniscript_1.Descriptor.fromString(d.value, 'derivable'),
10
- ]));
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVzY3JpcHRvck1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL0Rlc2NyaXB0b3JNYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwwQ0FPQztBQWJELDREQUFvRDtBQUtwRCwwRUFBMEU7QUFDMUUsU0FBZ0IsZUFBZSxDQUFDLFdBQTJEO0lBQ3pGLE9BQU8sSUFBSSxHQUFHLENBQ1osV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLElBQUk7UUFDTixDQUFDLENBQUMsS0FBSyxZQUFZLDRCQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDRCQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDO0tBQ3RGLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuLyoqIE1hcCBmcm9tIGRlc2NyaXB0b3IgbmFtZSB0byBkZXNjcmlwdG9yICovXG5leHBvcnQgdHlwZSBEZXNjcmlwdG9yTWFwID0gTWFwPHN0cmluZywgRGVzY3JpcHRvcj47XG5cbi8qKiBDb252ZXJ0IGFuIGFycmF5IG9mIGRlc2NyaXB0b3IgbmFtZS12YWx1ZSBwYWlycyB0byBhIGRlc2NyaXB0b3IgbWFwICovXG5leHBvcnQgZnVuY3Rpb24gdG9EZXNjcmlwdG9yTWFwKGRlc2NyaXB0b3JzOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IERlc2NyaXB0b3IgfCBzdHJpbmcgfVtdKTogRGVzY3JpcHRvck1hcCB7XG4gIHJldHVybiBuZXcgTWFwKFxuICAgIGRlc2NyaXB0b3JzLm1hcCgoZCkgPT4gW1xuICAgICAgZC5uYW1lLFxuICAgICAgZC52YWx1ZSBpbnN0YW5jZW9mIERlc2NyaXB0b3IgPyBkLnZhbHVlIDogRGVzY3JpcHRvci5mcm9tU3RyaW5nKGQudmFsdWUsICdkZXJpdmFibGUnKSxcbiAgICBdKVxuICApO1xufVxuIl19
@@ -1,24 +0,0 @@
1
- import { Descriptor } from '@bitgo/wasm-miniscript';
2
- import { DescriptorMap } from './DescriptorMap';
3
- export type Output = {
4
- script: Buffer;
5
- value: bigint;
6
- };
7
- export type WithDescriptor<T> = T & {
8
- descriptor: Descriptor;
9
- };
10
- export type WithOptDescriptor<T> = T & {
11
- descriptor?: Descriptor;
12
- };
13
- export type PrevOutput = {
14
- hash: string;
15
- index: number;
16
- witnessUtxo: Output;
17
- };
18
- export type DescriptorWalletOutput = PrevOutput & {
19
- descriptorName: string;
20
- descriptorIndex: number;
21
- };
22
- export type DerivedDescriptorWalletOutput = WithDescriptor<PrevOutput>;
23
- export declare function toDerivedDescriptorWalletOutput(output: DescriptorWalletOutput, descriptorMap: DescriptorMap): DerivedDescriptorWalletOutput;
24
- //# sourceMappingURL=Output.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Output.d.ts","sourceRoot":"","sources":["../../../src/descriptor/Output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG;IAClC,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAEvE,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,sBAAsB,EAC9B,aAAa,EAAE,aAAa,GAC3B,6BAA6B,CAgB/B"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toDerivedDescriptorWalletOutput = toDerivedDescriptorWalletOutput;
4
- const address_1 = require("./address");
5
- function toDerivedDescriptorWalletOutput(output, descriptorMap) {
6
- const descriptor = descriptorMap.get(output.descriptorName);
7
- if (!descriptor) {
8
- throw new Error(`Descriptor not found: ${output.descriptorName}`);
9
- }
10
- const derivedDescriptor = descriptor.atDerivationIndex(output.descriptorIndex);
11
- const script = (0, address_1.createScriptPubKeyFromDescriptor)(derivedDescriptor);
12
- if (!script.equals(output.witnessUtxo.script)) {
13
- throw new Error(`Script mismatch: descriptor ${output.descriptorName} ${descriptor.toString()} script=${script}`);
14
- }
15
- return {
16
- hash: output.hash,
17
- index: output.index,
18
- witnessUtxo: output.witnessUtxo,
19
- descriptor: descriptor.atDerivationIndex(output.descriptorIndex),
20
- };
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvT3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0JBLDBFQW1CQztBQS9DRCx1Q0FBNkQ7QUE0QjdELFNBQWdCLCtCQUErQixDQUM3QyxNQUE4QixFQUM5QixhQUE0QjtJQUU1QixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvRSxNQUFNLE1BQU0sR0FBRyxJQUFBLDBDQUFnQyxFQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLE1BQU0sQ0FBQyxjQUFjLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxXQUFXLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUNELE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ25CLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixVQUFVLEVBQUUsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7S0FDakUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JNYXAgfSBmcm9tICcuL0Rlc2NyaXB0b3JNYXAnO1xuaW1wb3J0IHsgY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IgfSBmcm9tICcuL2FkZHJlc3MnO1xuXG5leHBvcnQgdHlwZSBPdXRwdXQgPSB7XG4gIHNjcmlwdDogQnVmZmVyO1xuICB2YWx1ZTogYmlnaW50O1xufTtcblxuZXhwb3J0IHR5cGUgV2l0aERlc2NyaXB0b3I8VD4gPSBUICYge1xuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yO1xufTtcblxuZXhwb3J0IHR5cGUgV2l0aE9wdERlc2NyaXB0b3I8VD4gPSBUICYge1xuICBkZXNjcmlwdG9yPzogRGVzY3JpcHRvcjtcbn07XG5cbmV4cG9ydCB0eXBlIFByZXZPdXRwdXQgPSB7XG4gIGhhc2g6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgd2l0bmVzc1V0eG86IE91dHB1dDtcbn07XG5cbmV4cG9ydCB0eXBlIERlc2NyaXB0b3JXYWxsZXRPdXRwdXQgPSBQcmV2T3V0cHV0ICYge1xuICBkZXNjcmlwdG9yTmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdG9ySW5kZXg6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIERlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0ID0gV2l0aERlc2NyaXB0b3I8UHJldk91dHB1dD47XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0Rlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0KFxuICBvdXRwdXQ6IERlc2NyaXB0b3JXYWxsZXRPdXRwdXQsXG4gIGRlc2NyaXB0b3JNYXA6IERlc2NyaXB0b3JNYXBcbik6IERlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0IHtcbiAgY29uc3QgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JNYXAuZ2V0KG91dHB1dC5kZXNjcmlwdG9yTmFtZSk7XG4gIGlmICghZGVzY3JpcHRvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRvciBub3QgZm91bmQ6ICR7b3V0cHV0LmRlc2NyaXB0b3JOYW1lfWApO1xuICB9XG4gIGNvbnN0IGRlcml2ZWREZXNjcmlwdG9yID0gZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChvdXRwdXQuZGVzY3JpcHRvckluZGV4KTtcbiAgY29uc3Qgc2NyaXB0ID0gY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVyaXZlZERlc2NyaXB0b3IpO1xuICBpZiAoIXNjcmlwdC5lcXVhbHMob3V0cHV0LndpdG5lc3NVdHhvLnNjcmlwdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNjcmlwdCBtaXNtYXRjaDogZGVzY3JpcHRvciAke291dHB1dC5kZXNjcmlwdG9yTmFtZX0gJHtkZXNjcmlwdG9yLnRvU3RyaW5nKCl9IHNjcmlwdD0ke3NjcmlwdH1gKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGhhc2g6IG91dHB1dC5oYXNoLFxuICAgIGluZGV4OiBvdXRwdXQuaW5kZXgsXG4gICAgd2l0bmVzc1V0eG86IG91dHB1dC53aXRuZXNzVXR4byxcbiAgICBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KG91dHB1dC5kZXNjcmlwdG9ySW5kZXgpLFxuICB9O1xufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"VirtualSize.d.ts","sourceRoot":"","sources":["../../../src/descriptor/VirtualSize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiDhD,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM/F;AAED,wBAAgB,kCAAkC,CAAC,CAAC,EAAE,UAAU,GAAG;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAKA;AAED,KAAK,uBAAuB,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1D,KAAK,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C,KAAK,EAAE,CAAC,MAAM,IAAI;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;AAC3D,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC"}
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInputVSizesForDescriptors = getInputVSizesForDescriptors;
4
- exports.getChangeOutputVSizesForDescriptor = getChangeOutputVSizesForDescriptor;
5
- exports.getVirtualSize = getVirtualSize;
6
- const unspents_1 = require("@bitgo-beta/unspents");
7
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
8
- function getScriptPubKeyLength(descType) {
9
- // See https://bitcoinops.org/en/tools/calc-size/
10
- switch (descType) {
11
- case 'Wpkh':
12
- // https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wpkh
13
- return 22;
14
- case 'Sh':
15
- case 'ShWsh':
16
- case 'ShWpkh':
17
- // https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki#specification
18
- return 23;
19
- case 'Pkh':
20
- return 25;
21
- case 'Wsh':
22
- case 'Tr':
23
- // P2WSH: https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wsh
24
- // P2TR: https://github.com/bitcoin/bips/blob/58ffd93812ff25e87d53d1f202fbb389fdfb85bb/bip-0341.mediawiki#script-validation-rules
25
- // > A Taproot output is a native SegWit output (see BIP141) with version number 1, and a 32-byte witness program.
26
- // 32 bytes for the hash, 1 byte for the version, 1 byte for the push opcode
27
- return 34;
28
- case 'Bare':
29
- throw new Error('cannot determine scriptPubKey length for Bare descriptor');
30
- default:
31
- throw new Error('unexpected descriptor type ' + descType);
32
- }
33
- }
34
- function getInputVSizeForDescriptor(descriptor) {
35
- // FIXME(BTC-1489): this can overestimate the size of the input significantly
36
- const maxWeight = descriptor.maxWeightToSatisfy();
37
- const maxVSize = Math.ceil(maxWeight / 4);
38
- const sizeOpPushdata1 = 1;
39
- const sizeOpPushdata2 = 2;
40
- return (
41
- // inputId
42
- 32 +
43
- // vOut
44
- 4 +
45
- // nSequence
46
- 4 +
47
- // script overhead
48
- (maxVSize < 255 ? sizeOpPushdata1 : sizeOpPushdata2) +
49
- // script
50
- maxVSize);
51
- }
52
- function getInputVSizesForDescriptors(descriptors) {
53
- return Object.fromEntries(Array.from(descriptors.entries()).map(([name, d]) => {
54
- return [name, getInputVSizeForDescriptor(d)];
55
- }));
56
- }
57
- function getChangeOutputVSizesForDescriptor(d) {
58
- return {
59
- inputVSize: getInputVSizeForDescriptor(d),
60
- outputVSize: getScriptPubKeyLength(d.descType()),
61
- };
62
- }
63
- function getVirtualSize(tx, descriptorMap) {
64
- const lookup = descriptorMap ? getInputVSizesForDescriptors(descriptorMap) : undefined;
65
- const inputVSize = tx.inputs.reduce((sum, input) => {
66
- if (input instanceof wasm_miniscript_1.Descriptor) {
67
- return sum + getInputVSizeForDescriptor(input);
68
- }
69
- if ('descriptorName' in input) {
70
- if (!lookup) {
71
- throw new Error('missing descriptorMap');
72
- }
73
- const vsize = lookup[input.descriptorName];
74
- if (!vsize) {
75
- throw new Error(`Could not find descriptor ${input.descriptorName}`);
76
- }
77
- return sum + vsize;
78
- }
79
- throw new Error('unexpected input');
80
- }, 0);
81
- const outputVSize = tx.outputs.reduce((sum, o) => {
82
- return sum + unspents_1.Dimensions.getVSizeForOutputWithScriptLength(o.script.length);
83
- }, 0);
84
- // we will just assume that we have at least one segwit input
85
- return inputVSize + outputVSize + unspents_1.VirtualSizes.txSegOverheadVSize;
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlydHVhbFNpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9WaXJ0dWFsU2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9EQSxvRUFNQztBQUVELGdGQVFDO0FBWUQsd0NBMEJDO0FBMUdELG1EQUFnRTtBQUNoRSw0REFBb0Q7QUFJcEQsU0FBUyxxQkFBcUIsQ0FBQyxRQUFnQjtJQUM3QyxpREFBaUQ7SUFDakQsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLE1BQU07WUFDVCx3RUFBd0U7WUFDeEUsT0FBTyxFQUFFLENBQUM7UUFDWixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxRQUFRO1lBQ1gsK0VBQStFO1lBQy9FLE9BQU8sRUFBRSxDQUFDO1FBQ1osS0FBSyxLQUFLO1lBQ1IsT0FBTyxFQUFFLENBQUM7UUFDWixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssSUFBSTtZQUNQLDhFQUE4RTtZQUM5RSxpSUFBaUk7WUFDakksa0hBQWtIO1lBQ2xILDRFQUE0RTtZQUM1RSxPQUFPLEVBQUUsQ0FBQztRQUNaLEtBQUssTUFBTTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUM5RTtZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLFVBQXNCO0lBQ3hELDZFQUE2RTtJQUM3RSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDMUIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLE9BQU87SUFDTCxVQUFVO0lBQ1YsRUFBRTtRQUNGLE9BQU87UUFDUCxDQUFDO1FBQ0QsWUFBWTtRQUNaLENBQUM7UUFDRCxrQkFBa0I7UUFDbEIsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUNwRCxTQUFTO1FBQ1QsUUFBUSxDQUNULENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsNEJBQTRCLENBQUMsV0FBMEI7SUFDckUsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDbEQsT0FBTyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0Isa0NBQWtDLENBQUMsQ0FBYTtJQUk5RCxPQUFPO1FBQ0wsVUFBVSxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztRQUN6QyxXQUFXLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ2pELENBQUM7QUFDSixDQUFDO0FBWUQsU0FBZ0IsY0FBYyxDQUM1QixFQUFnRCxFQUNoRCxhQUE2QjtJQUU3QixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDdkYsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDakQsSUFBSSxLQUFLLFlBQVksNEJBQVUsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sR0FBRyxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLGdCQUFnQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDM0MsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7WUFDRCxPQUFPLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN0QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDTixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQyxPQUFPLEdBQUcsR0FBRyxxQkFBVSxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0UsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ04sNkRBQTZEO0lBQzdELE9BQU8sVUFBVSxHQUFHLFdBQVcsR0FBRyx1QkFBWSxDQUFDLGtCQUFrQixDQUFDO0FBQ3BFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaW1lbnNpb25zLCBWaXJ0dWFsU2l6ZXMgfSBmcm9tICdAYml0Z28tYmV0YS91bnNwZW50cyc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JNYXAgfSBmcm9tICcuL0Rlc2NyaXB0b3JNYXAnO1xuXG5mdW5jdGlvbiBnZXRTY3JpcHRQdWJLZXlMZW5ndGgoZGVzY1R5cGU6IHN0cmluZyk6IG51bWJlciB7XG4gIC8vIFNlZSBodHRwczovL2JpdGNvaW5vcHMub3JnL2VuL3Rvb2xzL2NhbGMtc2l6ZS9cbiAgc3dpdGNoIChkZXNjVHlwZSkge1xuICAgIGNhc2UgJ1dwa2gnOlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy9ibG9iL21hc3Rlci9iaXAtMDE0MS5tZWRpYXdpa2kjcDJ3cGtoXG4gICAgICByZXR1cm4gMjI7XG4gICAgY2FzZSAnU2gnOlxuICAgIGNhc2UgJ1NoV3NoJzpcbiAgICBjYXNlICdTaFdwa2gnOlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy9ibG9iL21hc3Rlci9iaXAtMDAxNi5tZWRpYXdpa2kjc3BlY2lmaWNhdGlvblxuICAgICAgcmV0dXJuIDIzO1xuICAgIGNhc2UgJ1BraCc6XG4gICAgICByZXR1cm4gMjU7XG4gICAgY2FzZSAnV3NoJzpcbiAgICBjYXNlICdUcic6XG4gICAgICAvLyBQMldTSDogaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy9ibG9iL21hc3Rlci9iaXAtMDE0MS5tZWRpYXdpa2kjcDJ3c2hcbiAgICAgIC8vIFAyVFI6IGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpcHMvYmxvYi81OGZmZDkzODEyZmYyNWU4N2Q1M2QxZjIwMmZiYjM4OWZkZmI4NWJiL2JpcC0wMzQxLm1lZGlhd2lraSNzY3JpcHQtdmFsaWRhdGlvbi1ydWxlc1xuICAgICAgLy8gPiBBIFRhcHJvb3Qgb3V0cHV0IGlzIGEgbmF0aXZlIFNlZ1dpdCBvdXRwdXQgKHNlZSBCSVAxNDEpIHdpdGggdmVyc2lvbiBudW1iZXIgMSwgYW5kIGEgMzItYnl0ZSB3aXRuZXNzIHByb2dyYW0uXG4gICAgICAvLyAzMiBieXRlcyBmb3IgdGhlIGhhc2gsIDEgYnl0ZSBmb3IgdGhlIHZlcnNpb24sIDEgYnl0ZSBmb3IgdGhlIHB1c2ggb3Bjb2RlXG4gICAgICByZXR1cm4gMzQ7XG4gICAgY2FzZSAnQmFyZSc6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nhbm5vdCBkZXRlcm1pbmUgc2NyaXB0UHViS2V5IGxlbmd0aCBmb3IgQmFyZSBkZXNjcmlwdG9yJyk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW5leHBlY3RlZCBkZXNjcmlwdG9yIHR5cGUgJyArIGRlc2NUeXBlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRJbnB1dFZTaXplRm9yRGVzY3JpcHRvcihkZXNjcmlwdG9yOiBEZXNjcmlwdG9yKTogbnVtYmVyIHtcbiAgLy8gRklYTUUoQlRDLTE0ODkpOiB0aGlzIGNhbiBvdmVyZXN0aW1hdGUgdGhlIHNpemUgb2YgdGhlIGlucHV0IHNpZ25pZmljYW50bHlcbiAgY29uc3QgbWF4V2VpZ2h0ID0gZGVzY3JpcHRvci5tYXhXZWlnaHRUb1NhdGlzZnkoKTtcbiAgY29uc3QgbWF4VlNpemUgPSBNYXRoLmNlaWwobWF4V2VpZ2h0IC8gNCk7XG4gIGNvbnN0IHNpemVPcFB1c2hkYXRhMSA9IDE7XG4gIGNvbnN0IHNpemVPcFB1c2hkYXRhMiA9IDI7XG4gIHJldHVybiAoXG4gICAgLy8gaW5wdXRJZFxuICAgIDMyICtcbiAgICAvLyB2T3V0XG4gICAgNCArXG4gICAgLy8gblNlcXVlbmNlXG4gICAgNCArXG4gICAgLy8gc2NyaXB0IG92ZXJoZWFkXG4gICAgKG1heFZTaXplIDwgMjU1ID8gc2l6ZU9wUHVzaGRhdGExIDogc2l6ZU9wUHVzaGRhdGEyKSArXG4gICAgLy8gc2NyaXB0XG4gICAgbWF4VlNpemVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldElucHV0VlNpemVzRm9yRGVzY3JpcHRvcnMoZGVzY3JpcHRvcnM6IERlc2NyaXB0b3JNYXApOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+IHtcbiAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBBcnJheS5mcm9tKGRlc2NyaXB0b3JzLmVudHJpZXMoKSkubWFwKChbbmFtZSwgZF0pID0+IHtcbiAgICAgIHJldHVybiBbbmFtZSwgZ2V0SW5wdXRWU2l6ZUZvckRlc2NyaXB0b3IoZCldO1xuICAgIH0pXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGFuZ2VPdXRwdXRWU2l6ZXNGb3JEZXNjcmlwdG9yKGQ6IERlc2NyaXB0b3IpOiB7XG4gIGlucHV0VlNpemU6IG51bWJlcjtcbiAgb3V0cHV0VlNpemU6IG51bWJlcjtcbn0ge1xuICByZXR1cm4ge1xuICAgIGlucHV0VlNpemU6IGdldElucHV0VlNpemVGb3JEZXNjcmlwdG9yKGQpLFxuICAgIG91dHB1dFZTaXplOiBnZXRTY3JpcHRQdWJLZXlMZW5ndGgoZC5kZXNjVHlwZSgpKSxcbiAgfTtcbn1cblxudHlwZSBJbnB1dFdpdGhEZXNjcmlwdG9yTmFtZSA9IHsgZGVzY3JpcHRvck5hbWU6IHN0cmluZyB9O1xudHlwZSBPdXRwdXRXaXRoU2NyaXB0ID0geyBzY3JpcHQ6IEJ1ZmZlciB9O1xuXG50eXBlIFR4PFRJbnB1dD4gPSB7XG4gIGlucHV0czogVElucHV0W107XG4gIG91dHB1dHM6IE91dHB1dFdpdGhTY3JpcHRbXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaXJ0dWFsU2l6ZSh0eDogVHg8RGVzY3JpcHRvcj4pOiBudW1iZXI7XG5leHBvcnQgZnVuY3Rpb24gZ2V0VmlydHVhbFNpemUodHg6IFR4PElucHV0V2l0aERlc2NyaXB0b3JOYW1lPiwgZGVzY3JpcHRvcnM6IERlc2NyaXB0b3JNYXApOiBudW1iZXI7XG5leHBvcnQgZnVuY3Rpb24gZ2V0VmlydHVhbFNpemUoXG4gIHR4OiBUeDxEZXNjcmlwdG9yPiB8IFR4PElucHV0V2l0aERlc2NyaXB0b3JOYW1lPixcbiAgZGVzY3JpcHRvck1hcD86IERlc2NyaXB0b3JNYXBcbik6IG51bWJlciB7XG4gIGNvbnN0IGxvb2t1cCA9IGRlc2NyaXB0b3JNYXAgPyBnZXRJbnB1dFZTaXplc0ZvckRlc2NyaXB0b3JzKGRlc2NyaXB0b3JNYXApIDogdW5kZWZpbmVkO1xuICBjb25zdCBpbnB1dFZTaXplID0gdHguaW5wdXRzLnJlZHVjZSgoc3VtLCBpbnB1dCkgPT4ge1xuICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIERlc2NyaXB0b3IpIHtcbiAgICAgIHJldHVybiBzdW0gKyBnZXRJbnB1dFZTaXplRm9yRGVzY3JpcHRvcihpbnB1dCk7XG4gICAgfVxuICAgIGlmICgnZGVzY3JpcHRvck5hbWUnIGluIGlucHV0KSB7XG4gICAgICBpZiAoIWxvb2t1cCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgZGVzY3JpcHRvck1hcCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgdnNpemUgPSBsb29rdXBbaW5wdXQuZGVzY3JpcHRvck5hbWVdO1xuICAgICAgaWYgKCF2c2l6ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIGRlc2NyaXB0b3IgJHtpbnB1dC5kZXNjcmlwdG9yTmFtZX1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdW0gKyB2c2l6ZTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmV4cGVjdGVkIGlucHV0Jyk7XG4gIH0sIDApO1xuICBjb25zdCBvdXRwdXRWU2l6ZSA9IHR4Lm91dHB1dHMucmVkdWNlKChzdW0sIG8pID0+IHtcbiAgICByZXR1cm4gc3VtICsgRGltZW5zaW9ucy5nZXRWU2l6ZUZvck91dHB1dFdpdGhTY3JpcHRMZW5ndGgoby5zY3JpcHQubGVuZ3RoKTtcbiAgfSwgMCk7XG4gIC8vIHdlIHdpbGwganVzdCBhc3N1bWUgdGhhdCB3ZSBoYXZlIGF0IGxlYXN0IG9uZSBzZWd3aXQgaW5wdXRcbiAgcmV0dXJuIGlucHV0VlNpemUgKyBvdXRwdXRWU2l6ZSArIFZpcnR1YWxTaXplcy50eFNlZ092ZXJoZWFkVlNpemU7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/descriptor/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAK/F;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,MAAM,CAER"}
@@ -1,9 +0,0 @@
1
- export type { Output, DescriptorWalletOutput, WithDescriptor, WithOptDescriptor } from './Output';
2
- export type { DescriptorMap } from './DescriptorMap';
3
- export * as psbt from './psbt';
4
- export type { PsbtParams } from './psbt';
5
- export { createAddressFromDescriptor, createScriptPubKeyFromDescriptor } from './address';
6
- export { createPsbt, finalizePsbt, parse } from './psbt';
7
- export { toDescriptorMap } from './DescriptorMap';
8
- export { toDerivedDescriptorWalletOutput } from './Output';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/descriptor/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClG,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC"}
@@ -1,49 +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.toDerivedDescriptorWalletOutput = exports.toDescriptorMap = exports.parse = exports.finalizePsbt = exports.createPsbt = exports.createScriptPubKeyFromDescriptor = exports.createAddressFromDescriptor = exports.psbt = void 0;
37
- exports.psbt = __importStar(require("./psbt"));
38
- var address_1 = require("./address");
39
- Object.defineProperty(exports, "createAddressFromDescriptor", { enumerable: true, get: function () { return address_1.createAddressFromDescriptor; } });
40
- Object.defineProperty(exports, "createScriptPubKeyFromDescriptor", { enumerable: true, get: function () { return address_1.createScriptPubKeyFromDescriptor; } });
41
- var psbt_1 = require("./psbt");
42
- Object.defineProperty(exports, "createPsbt", { enumerable: true, get: function () { return psbt_1.createPsbt; } });
43
- Object.defineProperty(exports, "finalizePsbt", { enumerable: true, get: function () { return psbt_1.finalizePsbt; } });
44
- Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return psbt_1.parse; } });
45
- var DescriptorMap_1 = require("./DescriptorMap");
46
- Object.defineProperty(exports, "toDescriptorMap", { enumerable: true, get: function () { return DescriptorMap_1.toDescriptorMap; } });
47
- var Output_1 = require("./Output");
48
- Object.defineProperty(exports, "toDerivedDescriptorWalletOutput", { enumerable: true, get: function () { return Output_1.toDerivedDescriptorWalletOutput; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSwrQ0FBK0I7QUFHL0IscUNBQTBGO0FBQWpGLHNIQUFBLDJCQUEyQixPQUFBO0FBQUUsMkhBQUEsZ0NBQWdDLE9BQUE7QUFDdEUsK0JBQXlEO0FBQWhELGtHQUFBLFVBQVUsT0FBQTtBQUFFLG9HQUFBLFlBQVksT0FBQTtBQUFFLDZGQUFBLEtBQUssT0FBQTtBQUN4QyxpREFBa0Q7QUFBekMsZ0hBQUEsZUFBZSxPQUFBO0FBQ3hCLG1DQUEyRDtBQUFsRCx5SEFBQSwrQkFBK0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgT3V0cHV0LCBEZXNjcmlwdG9yV2FsbGV0T3V0cHV0LCBXaXRoRGVzY3JpcHRvciwgV2l0aE9wdERlc2NyaXB0b3IgfSBmcm9tICcuL091dHB1dCc7XG5leHBvcnQgdHlwZSB7IERlc2NyaXB0b3JNYXAgfSBmcm9tICcuL0Rlc2NyaXB0b3JNYXAnO1xuZXhwb3J0ICogYXMgcHNidCBmcm9tICcuL3BzYnQnO1xuZXhwb3J0IHR5cGUgeyBQc2J0UGFyYW1zIH0gZnJvbSAnLi9wc2J0JztcblxuZXhwb3J0IHsgY3JlYXRlQWRkcmVzc0Zyb21EZXNjcmlwdG9yLCBjcmVhdGVTY3JpcHRQdWJLZXlGcm9tRGVzY3JpcHRvciB9IGZyb20gJy4vYWRkcmVzcyc7XG5leHBvcnQgeyBjcmVhdGVQc2J0LCBmaW5hbGl6ZVBzYnQsIHBhcnNlIH0gZnJvbSAnLi9wc2J0JztcbmV4cG9ydCB7IHRvRGVzY3JpcHRvck1hcCB9IGZyb20gJy4vRGVzY3JpcHRvck1hcCc7XG5leHBvcnQgeyB0b0Rlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0IH0gZnJvbSAnLi9PdXRwdXQnO1xuIl19
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FINAL_SEQUENCE = void 0;
4
- exports.getRequiredLocktime = getRequiredLocktime;
5
- exports.assertSatisfiable = assertSatisfiable;
6
- /**
7
- * These are some helpers for testing satisfiability of descriptors in PSBTs.
8
- *
9
- * They are mostly a debugging aid - if an input cannot be satisified, the `finalizePsbt()` method will fail, but
10
- * the error message is pretty vague.
11
- *
12
- * The methods here have the goal of catching certain cases earlier and with a better error message.
13
- *
14
- * The goal is not an exhaustive check, but to catch common mistakes.
15
- */
16
- const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
17
- exports.FINAL_SEQUENCE = 0xffffffff;
18
- /**
19
- * Get the required locktime for a descriptor.
20
- * @param descriptor
21
- */
22
- function getRequiredLocktime(descriptor) {
23
- if (descriptor instanceof wasm_miniscript_1.Descriptor) {
24
- return getRequiredLocktime(descriptor.node());
25
- }
26
- if (typeof descriptor !== 'object' || descriptor === null) {
27
- return undefined;
28
- }
29
- if ('Wsh' in descriptor) {
30
- return getRequiredLocktime(descriptor.Wsh);
31
- }
32
- if ('Sh' in descriptor) {
33
- return getRequiredLocktime(descriptor.Sh);
34
- }
35
- if ('Ms' in descriptor) {
36
- return getRequiredLocktime(descriptor.Ms);
37
- }
38
- if ('AndV' in descriptor) {
39
- if (!Array.isArray(descriptor.AndV)) {
40
- throw new Error('Expected an array');
41
- }
42
- if (descriptor.AndV.length !== 2) {
43
- throw new Error('Expected exactly two elements');
44
- }
45
- const [a, b] = descriptor.AndV;
46
- return getRequiredLocktime(a) ?? getRequiredLocktime(b);
47
- }
48
- if ('Drop' in descriptor) {
49
- return getRequiredLocktime(descriptor.Drop);
50
- }
51
- if ('Verify' in descriptor) {
52
- return getRequiredLocktime(descriptor.Verify);
53
- }
54
- if ('After' in descriptor && typeof descriptor.After === 'object' && descriptor.After !== null) {
55
- if ('absLockTime' in descriptor.After && typeof descriptor.After.absLockTime === 'number') {
56
- return descriptor.After.absLockTime;
57
- }
58
- }
59
- return undefined;
60
- }
61
- function assertSatisfiable(psbt, inputIndex, descriptor) {
62
- // If the descriptor requires a locktime, the input must have a non-final sequence number
63
- const requiredLocktime = getRequiredLocktime(descriptor);
64
- if (requiredLocktime !== undefined) {
65
- const input = psbt.txInputs[inputIndex];
66
- if (input.sequence === exports.FINAL_SEQUENCE) {
67
- throw new Error(`Input ${inputIndex} has a non-final sequence number, but requires a timelock`);
68
- }
69
- if (psbt.locktime !== requiredLocktime) {
70
- throw new Error(`psbt locktime (${psbt.locktime}) does not match required locktime (${requiredLocktime})`);
71
- }
72
- }
73
- }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0U2F0aXNmaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9wc2J0L2Fzc2VydFNhdGlzZmlhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1CQSxrREFzQ0M7QUFFRCw4Q0FZQztBQXZFRDs7Ozs7Ozs7O0dBU0c7QUFDSCw0REFBb0Q7QUFHdkMsUUFBQSxjQUFjLEdBQUcsVUFBVSxDQUFDO0FBRXpDOzs7R0FHRztBQUNILFNBQWdCLG1CQUFtQixDQUFDLFVBQWdDO0lBQ2xFLElBQUksVUFBVSxZQUFZLDRCQUFVLEVBQUUsQ0FBQztRQUNyQyxPQUFPLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDMUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksS0FBSyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxJQUFJLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUN2QixPQUFPLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDdkIsT0FBTyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUMvQixPQUFPLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxJQUFJLE1BQU0sSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUN6QixPQUFPLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7UUFDM0IsT0FBTyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELElBQUksT0FBTyxJQUFJLFVBQVUsSUFBSSxPQUFPLFVBQVUsQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDL0YsSUFBSSxhQUFhLElBQUksVUFBVSxDQUFDLEtBQUssSUFBSSxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFGLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBa0IsRUFBRSxVQUFrQixFQUFFLFVBQXNCO0lBQzlGLHlGQUF5RjtJQUN6RixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELElBQUksZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssc0JBQWMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxVQUFVLDJEQUEyRCxDQUFDLENBQUM7UUFDbEcsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLElBQUksQ0FBQyxRQUFRLHVDQUF1QyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDN0csQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGVzZSBhcmUgc29tZSBoZWxwZXJzIGZvciB0ZXN0aW5nIHNhdGlzZmlhYmlsaXR5IG9mIGRlc2NyaXB0b3JzIGluIFBTQlRzLlxuICpcbiAqIFRoZXkgYXJlIG1vc3RseSBhIGRlYnVnZ2luZyBhaWQgLSBpZiBhbiBpbnB1dCBjYW5ub3QgYmUgc2F0aXNpZmllZCwgdGhlIGBmaW5hbGl6ZVBzYnQoKWAgbWV0aG9kIHdpbGwgZmFpbCwgYnV0XG4gKiB0aGUgZXJyb3IgbWVzc2FnZSBpcyBwcmV0dHkgdmFndWUuXG4gKlxuICogVGhlIG1ldGhvZHMgaGVyZSBoYXZlIHRoZSBnb2FsIG9mIGNhdGNoaW5nIGNlcnRhaW4gY2FzZXMgZWFybGllciBhbmQgd2l0aCBhIGJldHRlciBlcnJvciBtZXNzYWdlLlxuICpcbiAqIFRoZSBnb2FsIGlzIG5vdCBhbiBleGhhdXN0aXZlIGNoZWNrLCBidXQgdG8gY2F0Y2ggY29tbW9uIG1pc3Rha2VzLlxuICovXG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuZXhwb3J0IGNvbnN0IEZJTkFMX1NFUVVFTkNFID0gMHhmZmZmZmZmZjtcblxuLyoqXG4gKiBHZXQgdGhlIHJlcXVpcmVkIGxvY2t0aW1lIGZvciBhIGRlc2NyaXB0b3IuXG4gKiBAcGFyYW0gZGVzY3JpcHRvclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yOiBEZXNjcmlwdG9yIHwgdW5rbm93bik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRGVzY3JpcHRvcikge1xuICAgIHJldHVybiBnZXRSZXF1aXJlZExvY2t0aW1lKGRlc2NyaXB0b3Iubm9kZSgpKTtcbiAgfVxuICBpZiAodHlwZW9mIGRlc2NyaXB0b3IgIT09ICdvYmplY3QnIHx8IGRlc2NyaXB0b3IgPT09IG51bGwpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmICgnV3NoJyBpbiBkZXNjcmlwdG9yKSB7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoZGVzY3JpcHRvci5Xc2gpO1xuICB9XG4gIGlmICgnU2gnIGluIGRlc2NyaXB0b3IpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yLlNoKTtcbiAgfVxuICBpZiAoJ01zJyBpbiBkZXNjcmlwdG9yKSB7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoZGVzY3JpcHRvci5Ncyk7XG4gIH1cbiAgaWYgKCdBbmRWJyBpbiBkZXNjcmlwdG9yKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGRlc2NyaXB0b3IuQW5kVikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgYW4gYXJyYXknKTtcbiAgICB9XG4gICAgaWYgKGRlc2NyaXB0b3IuQW5kVi5sZW5ndGggIT09IDIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgZXhhY3RseSB0d28gZWxlbWVudHMnKTtcbiAgICB9XG4gICAgY29uc3QgW2EsIGJdID0gZGVzY3JpcHRvci5BbmRWO1xuICAgIHJldHVybiBnZXRSZXF1aXJlZExvY2t0aW1lKGEpID8/IGdldFJlcXVpcmVkTG9ja3RpbWUoYik7XG4gIH1cbiAgaWYgKCdEcm9wJyBpbiBkZXNjcmlwdG9yKSB7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoZGVzY3JpcHRvci5Ecm9wKTtcbiAgfVxuICBpZiAoJ1ZlcmlmeScgaW4gZGVzY3JpcHRvcikge1xuICAgIHJldHVybiBnZXRSZXF1aXJlZExvY2t0aW1lKGRlc2NyaXB0b3IuVmVyaWZ5KTtcbiAgfVxuICBpZiAoJ0FmdGVyJyBpbiBkZXNjcmlwdG9yICYmIHR5cGVvZiBkZXNjcmlwdG9yLkFmdGVyID09PSAnb2JqZWN0JyAmJiBkZXNjcmlwdG9yLkFmdGVyICE9PSBudWxsKSB7XG4gICAgaWYgKCdhYnNMb2NrVGltZScgaW4gZGVzY3JpcHRvci5BZnRlciAmJiB0eXBlb2YgZGVzY3JpcHRvci5BZnRlci5hYnNMb2NrVGltZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBkZXNjcmlwdG9yLkFmdGVyLmFic0xvY2tUaW1lO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0U2F0aXNmaWFibGUocHNidDogdXR4b2xpYi5Qc2J0LCBpbnB1dEluZGV4OiBudW1iZXIsIGRlc2NyaXB0b3I6IERlc2NyaXB0b3IpOiB2b2lkIHtcbiAgLy8gSWYgdGhlIGRlc2NyaXB0b3IgcmVxdWlyZXMgYSBsb2NrdGltZSwgdGhlIGlucHV0IG11c3QgaGF2ZSBhIG5vbi1maW5hbCBzZXF1ZW5jZSBudW1iZXJcbiAgY29uc3QgcmVxdWlyZWRMb2NrdGltZSA9IGdldFJlcXVpcmVkTG9ja3RpbWUoZGVzY3JpcHRvcik7XG4gIGlmIChyZXF1aXJlZExvY2t0aW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBpbnB1dCA9IHBzYnQudHhJbnB1dHNbaW5wdXRJbmRleF07XG4gICAgaWYgKGlucHV0LnNlcXVlbmNlID09PSBGSU5BTF9TRVFVRU5DRSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnB1dCAke2lucHV0SW5kZXh9IGhhcyBhIG5vbi1maW5hbCBzZXF1ZW5jZSBudW1iZXIsIGJ1dCByZXF1aXJlcyBhIHRpbWVsb2NrYCk7XG4gICAgfVxuICAgIGlmIChwc2J0LmxvY2t0aW1lICE9PSByZXF1aXJlZExvY2t0aW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHBzYnQgbG9ja3RpbWUgKCR7cHNidC5sb2NrdGltZX0pIGRvZXMgbm90IG1hdGNoIHJlcXVpcmVkIGxvY2t0aW1lICgke3JlcXVpcmVkTG9ja3RpbWV9KWApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,15 +0,0 @@
1
- import * as utxolib from '@bitgo-beta/utxo-lib';
2
- import { DerivedDescriptorWalletOutput, Output, WithOptDescriptor } from '../Output';
3
- /**
4
- * Non-Final (Replaceable)
5
- * Reference: https://github.com/bitcoin/bitcoin/blob/v25.1/src/rpc/rawtransaction_util.cpp#L49
6
- * */
7
- export declare const MAX_BIP125_RBF_SEQUENCE: number;
8
- export type PsbtParams = {
9
- network: utxolib.Network;
10
- version?: number;
11
- locktime?: number;
12
- sequence?: number;
13
- };
14
- export declare function createPsbt(params: PsbtParams, inputs: DerivedDescriptorWalletOutput[], outputs: WithOptDescriptor<Output>[]): utxolib.bitgo.UtxoPsbt;
15
- //# sourceMappingURL=createPsbt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createPsbt.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/psbt/createPsbt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,6BAA6B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAKrF;;;KAGK;AACL,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AA8BtD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,UAAU,CACxB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,6BAA6B,EAAE,EACvC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,GACnC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAYxB"}
@@ -1,82 +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.MAX_BIP125_RBF_SEQUENCE = void 0;
37
- exports.createPsbt = createPsbt;
38
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
- const wrap_1 = require("./wrap");
40
- const assertSatisfiable_1 = require("./assertSatisfiable");
41
- /**
42
- * Non-Final (Replaceable)
43
- * Reference: https://github.com/bitcoin/bitcoin/blob/v25.1/src/rpc/rawtransaction_util.cpp#L49
44
- * */
45
- exports.MAX_BIP125_RBF_SEQUENCE = 0xffffffff - 2;
46
- function updateInputsWithDescriptors(psbt, descriptors) {
47
- if (psbt.txInputs.length !== descriptors.length) {
48
- throw new Error(`Input count mismatch (psbt=${psbt.txInputs.length}, descriptors=${descriptors.length})`);
49
- }
50
- const wrappedPsbt = (0, wrap_1.toWrappedPsbt)(psbt);
51
- for (const [inputIndex, descriptor] of descriptors.entries()) {
52
- (0, assertSatisfiable_1.assertSatisfiable)(psbt, inputIndex, descriptor);
53
- wrappedPsbt.updateInputWithDescriptor(inputIndex, descriptor);
54
- }
55
- const unwrappedPsbt = (0, wrap_1.toUtxoPsbt)(wrappedPsbt, psbt.network);
56
- for (const inputIndex in psbt.txInputs) {
57
- psbt.data.inputs[inputIndex] = unwrappedPsbt.data.inputs[inputIndex];
58
- }
59
- }
60
- function updateOutputsWithDescriptors(psbt, descriptors) {
61
- const wrappedPsbt = (0, wrap_1.toWrappedPsbt)(psbt);
62
- for (const [outputIndex, { descriptor }] of descriptors.entries()) {
63
- if (descriptor) {
64
- wrappedPsbt.updateOutputWithDescriptor(outputIndex, descriptor);
65
- }
66
- }
67
- const unwrappedPsbt = (0, wrap_1.toUtxoPsbt)(wrappedPsbt, psbt.network);
68
- for (const outputIndex in psbt.txOutputs) {
69
- psbt.data.outputs[outputIndex] = unwrappedPsbt.data.outputs[outputIndex];
70
- }
71
- }
72
- function createPsbt(params, inputs, outputs) {
73
- const psbt = utxolib.bitgo.UtxoPsbt.createPsbt({ network: params.network });
74
- psbt.setVersion(params.version ?? 2);
75
- psbt.setLocktime(params.locktime ?? 0);
76
- psbt.addInputs(inputs.map((i) => ({ ...i, sequence: params.sequence ?? exports.MAX_BIP125_RBF_SEQUENCE })));
77
- psbt.addOutputs(outputs);
78
- updateInputsWithDescriptors(psbt, inputs.map((i) => i.descriptor));
79
- updateOutputsWithDescriptors(psbt, outputs);
80
- return psbt;
81
- }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUHNidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL3BzYnQvY3JlYXRlUHNidC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpREEsZ0NBZ0JDO0FBakVELDhEQUFnRDtBQUtoRCxpQ0FBbUQ7QUFDbkQsMkRBQXdEO0FBRXhEOzs7S0FHSztBQUNRLFFBQUEsdUJBQXVCLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztBQUV0RCxTQUFTLDJCQUEyQixDQUFDLElBQTRCLEVBQUUsV0FBeUI7SUFDMUYsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLGlCQUFpQixXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBQSxvQkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLEtBQUssTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUM3RCxJQUFBLHFDQUFpQixFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsV0FBVyxDQUFDLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBQSxpQkFBVSxFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLDRCQUE0QixDQUFDLElBQTRCLEVBQUUsV0FBd0M7SUFDMUcsTUFBTSxXQUFXLEdBQUcsSUFBQSxvQkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLEtBQUssTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDbEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFBLGlCQUFVLEVBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RCxLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzRSxDQUFDO0FBQ0gsQ0FBQztBQVNELFNBQWdCLFVBQVUsQ0FDeEIsTUFBa0IsRUFDbEIsTUFBdUMsRUFDdkMsT0FBb0M7SUFFcEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksK0JBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLDJCQUEyQixDQUN6QixJQUFJLEVBQ0osTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUNoQyxDQUFDO0lBQ0YsNEJBQTRCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG5pbXBvcnQgeyBEZXJpdmVkRGVzY3JpcHRvcldhbGxldE91dHB1dCwgT3V0cHV0LCBXaXRoT3B0RGVzY3JpcHRvciB9IGZyb20gJy4uL091dHB1dCc7XG5cbmltcG9ydCB7IHRvVXR4b1BzYnQsIHRvV3JhcHBlZFBzYnQgfSBmcm9tICcuL3dyYXAnO1xuaW1wb3J0IHsgYXNzZXJ0U2F0aXNmaWFibGUgfSBmcm9tICcuL2Fzc2VydFNhdGlzZmlhYmxlJztcblxuLyoqXG4gKiBOb24tRmluYWwgKFJlcGxhY2VhYmxlKVxuICogUmVmZXJlbmNlOiBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXRjb2luL2Jsb2IvdjI1LjEvc3JjL3JwYy9yYXd0cmFuc2FjdGlvbl91dGlsLmNwcCNMNDlcbiAqICovXG5leHBvcnQgY29uc3QgTUFYX0JJUDEyNV9SQkZfU0VRVUVOQ0UgPSAweGZmZmZmZmZmIC0gMjtcblxuZnVuY3Rpb24gdXBkYXRlSW5wdXRzV2l0aERlc2NyaXB0b3JzKHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQsIGRlc2NyaXB0b3JzOiBEZXNjcmlwdG9yW10pIHtcbiAgaWYgKHBzYnQudHhJbnB1dHMubGVuZ3RoICE9PSBkZXNjcmlwdG9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYElucHV0IGNvdW50IG1pc21hdGNoIChwc2J0PSR7cHNidC50eElucHV0cy5sZW5ndGh9LCBkZXNjcmlwdG9ycz0ke2Rlc2NyaXB0b3JzLmxlbmd0aH0pYCk7XG4gIH1cbiAgY29uc3Qgd3JhcHBlZFBzYnQgPSB0b1dyYXBwZWRQc2J0KHBzYnQpO1xuICBmb3IgKGNvbnN0IFtpbnB1dEluZGV4LCBkZXNjcmlwdG9yXSBvZiBkZXNjcmlwdG9ycy5lbnRyaWVzKCkpIHtcbiAgICBhc3NlcnRTYXRpc2ZpYWJsZShwc2J0LCBpbnB1dEluZGV4LCBkZXNjcmlwdG9yKTtcbiAgICB3cmFwcGVkUHNidC51cGRhdGVJbnB1dFdpdGhEZXNjcmlwdG9yKGlucHV0SW5kZXgsIGRlc2NyaXB0b3IpO1xuICB9XG4gIGNvbnN0IHVud3JhcHBlZFBzYnQgPSB0b1V0eG9Qc2J0KHdyYXBwZWRQc2J0LCBwc2J0Lm5ldHdvcmspO1xuICBmb3IgKGNvbnN0IGlucHV0SW5kZXggaW4gcHNidC50eElucHV0cykge1xuICAgIHBzYnQuZGF0YS5pbnB1dHNbaW5wdXRJbmRleF0gPSB1bndyYXBwZWRQc2J0LmRhdGEuaW5wdXRzW2lucHV0SW5kZXhdO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU91dHB1dHNXaXRoRGVzY3JpcHRvcnMocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCwgZGVzY3JpcHRvcnM6IFdpdGhPcHREZXNjcmlwdG9yPE91dHB1dD5bXSkge1xuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidCk7XG4gIGZvciAoY29uc3QgW291dHB1dEluZGV4LCB7IGRlc2NyaXB0b3IgfV0gb2YgZGVzY3JpcHRvcnMuZW50cmllcygpKSB7XG4gICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgIHdyYXBwZWRQc2J0LnVwZGF0ZU91dHB1dFdpdGhEZXNjcmlwdG9yKG91dHB1dEluZGV4LCBkZXNjcmlwdG9yKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgdW53cmFwcGVkUHNidCA9IHRvVXR4b1BzYnQod3JhcHBlZFBzYnQsIHBzYnQubmV0d29yayk7XG4gIGZvciAoY29uc3Qgb3V0cHV0SW5kZXggaW4gcHNidC50eE91dHB1dHMpIHtcbiAgICBwc2J0LmRhdGEub3V0cHV0c1tvdXRwdXRJbmRleF0gPSB1bndyYXBwZWRQc2J0LmRhdGEub3V0cHV0c1tvdXRwdXRJbmRleF07XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUHNidFBhcmFtcyA9IHtcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICB2ZXJzaW9uPzogbnVtYmVyO1xuICBsb2NrdGltZT86IG51bWJlcjtcbiAgc2VxdWVuY2U/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHNidChcbiAgcGFyYW1zOiBQc2J0UGFyYW1zLFxuICBpbnB1dHM6IERlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0W10sXG4gIG91dHB1dHM6IFdpdGhPcHREZXNjcmlwdG9yPE91dHB1dD5bXVxuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIGNvbnN0IHBzYnQgPSB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0LmNyZWF0ZVBzYnQoeyBuZXR3b3JrOiBwYXJhbXMubmV0d29yayB9KTtcbiAgcHNidC5zZXRWZXJzaW9uKHBhcmFtcy52ZXJzaW9uID8/IDIpO1xuICBwc2J0LnNldExvY2t0aW1lKHBhcmFtcy5sb2NrdGltZSA/PyAwKTtcbiAgcHNidC5hZGRJbnB1dHMoaW5wdXRzLm1hcCgoaSkgPT4gKHsgLi4uaSwgc2VxdWVuY2U6IHBhcmFtcy5zZXF1ZW5jZSA/PyBNQVhfQklQMTI1X1JCRl9TRVFVRU5DRSB9KSkpO1xuICBwc2J0LmFkZE91dHB1dHMob3V0cHV0cyk7XG4gIHVwZGF0ZUlucHV0c1dpdGhEZXNjcmlwdG9ycyhcbiAgICBwc2J0LFxuICAgIGlucHV0cy5tYXAoKGkpID0+IGkuZGVzY3JpcHRvcilcbiAgKTtcbiAgdXBkYXRlT3V0cHV0c1dpdGhEZXNjcmlwdG9ycyhwc2J0LCBvdXRwdXRzKTtcbiAgcmV0dXJuIHBzYnQ7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"findDescriptors.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/psbt/findDescriptors.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,mBAAmB,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAsErE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,aAAa,GAC3B,mBAAmB,GAAG,SAAS,CAUjC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,GAC3B,mBAAmB,GAAG,SAAS,CAMjC"}