@bitgo-beta/utxo-core 1.8.1-beta.61 → 1.8.1-beta.611

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 (356) hide show
  1. package/dist/cjs/src/Output.d.ts.map +1 -0
  2. package/dist/cjs/src/Output.js +60 -0
  3. package/dist/cjs/src/bip322/index.d.ts +5 -0
  4. package/dist/cjs/src/bip322/index.d.ts.map +1 -0
  5. package/dist/cjs/src/bip322/index.js +21 -0
  6. package/dist/cjs/src/bip322/toSign.d.ts +25 -0
  7. package/dist/cjs/src/bip322/toSign.d.ts.map +1 -0
  8. package/dist/cjs/src/bip322/toSign.js +126 -0
  9. package/dist/cjs/src/bip322/toSpend.d.ts +22 -0
  10. package/dist/cjs/src/bip322/toSpend.d.ts.map +1 -0
  11. package/dist/cjs/src/bip322/toSpend.js +72 -0
  12. package/dist/cjs/src/bip322/utils.d.ts +18 -0
  13. package/dist/cjs/src/bip322/utils.d.ts.map +1 -0
  14. package/dist/cjs/src/bip322/utils.js +115 -0
  15. package/dist/cjs/src/bip322/verify.d.ts +12 -0
  16. package/dist/cjs/src/bip322/verify.d.ts.map +1 -0
  17. package/dist/cjs/src/bip322/verify.js +115 -0
  18. package/dist/cjs/src/bip32utils.d.ts +16 -0
  19. package/dist/cjs/src/bip32utils.d.ts.map +1 -0
  20. package/dist/cjs/src/bip32utils.js +71 -0
  21. package/dist/cjs/src/bip65/index.d.ts.map +1 -0
  22. package/dist/{src → cjs/src}/bip65/index.js +1 -1
  23. package/dist/cjs/src/bip65/locktime.d.ts.map +1 -0
  24. package/dist/cjs/src/bip65/locktime.js +37 -0
  25. package/dist/{src → cjs/src}/descriptor/DescriptorMap.d.ts +1 -1
  26. package/dist/cjs/src/descriptor/DescriptorMap.d.ts.map +1 -0
  27. package/dist/cjs/src/descriptor/DescriptorMap.js +9 -0
  28. package/dist/{src → cjs/src}/descriptor/Output.d.ts +1 -1
  29. package/dist/cjs/src/descriptor/Output.d.ts.map +1 -0
  30. package/dist/cjs/src/descriptor/Output.js +41 -0
  31. package/dist/{src → cjs/src}/descriptor/VirtualSize.d.ts +1 -1
  32. package/dist/cjs/src/descriptor/VirtualSize.d.ts.map +1 -0
  33. package/dist/cjs/src/descriptor/VirtualSize.js +100 -0
  34. package/dist/{src → cjs/src}/descriptor/address.d.ts +1 -1
  35. package/dist/cjs/src/descriptor/address.d.ts.map +1 -0
  36. package/dist/{src → cjs/src}/descriptor/address.js +1 -1
  37. package/dist/{src → cjs/src}/descriptor/derive.d.ts +1 -1
  38. package/dist/cjs/src/descriptor/derive.d.ts.map +1 -0
  39. package/dist/cjs/src/descriptor/derive.js +45 -0
  40. package/dist/{src → cjs/src}/descriptor/fromFixedScriptWallet.d.ts +1 -1
  41. package/dist/cjs/src/descriptor/fromFixedScriptWallet.d.ts.map +1 -0
  42. package/dist/cjs/src/descriptor/fromFixedScriptWallet.js +88 -0
  43. package/dist/{src → cjs/src}/descriptor/index.d.ts +1 -0
  44. package/dist/cjs/src/descriptor/index.d.ts.map +1 -0
  45. package/dist/{src → cjs/src}/descriptor/index.js +2 -1
  46. package/dist/cjs/src/descriptor/parse/PatternMatcher.d.ts +14 -0
  47. package/dist/cjs/src/descriptor/parse/PatternMatcher.d.ts.map +1 -0
  48. package/dist/cjs/src/descriptor/parse/PatternMatcher.js +60 -0
  49. package/dist/{src → cjs/src}/descriptor/psbt/assertSatisfiable.d.ts +1 -1
  50. package/dist/cjs/src/descriptor/psbt/assertSatisfiable.d.ts.map +1 -0
  51. package/dist/cjs/src/descriptor/psbt/assertSatisfiable.js +74 -0
  52. package/dist/{src → cjs/src}/descriptor/psbt/createPsbt.d.ts +4 -0
  53. package/dist/cjs/src/descriptor/psbt/createPsbt.d.ts.map +1 -0
  54. package/dist/cjs/src/descriptor/psbt/createPsbt.js +107 -0
  55. package/dist/{src → cjs/src}/descriptor/psbt/findDescriptors.d.ts +1 -1
  56. package/dist/cjs/src/descriptor/psbt/findDescriptors.d.ts.map +1 -0
  57. package/dist/cjs/src/descriptor/psbt/findDescriptors.js +98 -0
  58. package/dist/cjs/src/descriptor/psbt/index.d.ts.map +1 -0
  59. package/dist/{src → cjs/src}/descriptor/psbt/index.js +1 -1
  60. package/dist/{src → cjs/src}/descriptor/psbt/parse.d.ts +1 -1
  61. package/dist/cjs/src/descriptor/psbt/parse.d.ts.map +1 -0
  62. package/dist/cjs/src/descriptor/psbt/parse.js +87 -0
  63. package/dist/{src → cjs/src}/descriptor/psbt/sign.d.ts +4 -4
  64. package/dist/cjs/src/descriptor/psbt/sign.d.ts.map +1 -0
  65. package/dist/cjs/src/descriptor/psbt/sign.js +42 -0
  66. package/dist/{src → cjs/src}/descriptor/psbt/wrap.d.ts +1 -1
  67. package/dist/cjs/src/descriptor/psbt/wrap.d.ts.map +1 -0
  68. package/dist/cjs/src/descriptor/psbt/wrap.js +76 -0
  69. package/dist/cjs/src/dustThreshold.d.ts.map +1 -0
  70. package/dist/cjs/src/dustThreshold.js +134 -0
  71. package/dist/{src → cjs/src}/index.d.ts +1 -0
  72. package/dist/cjs/src/index.d.ts.map +1 -0
  73. package/dist/{src → cjs/src}/index.js +3 -2
  74. package/dist/cjs/src/paygo/attestation.d.ts +11 -0
  75. package/dist/cjs/src/paygo/attestation.d.ts.map +1 -0
  76. package/dist/cjs/src/paygo/attestation.js +58 -0
  77. package/dist/cjs/src/paygo/index.d.ts +3 -0
  78. package/dist/cjs/src/paygo/index.d.ts.map +1 -0
  79. package/dist/cjs/src/paygo/index.js +19 -0
  80. package/dist/{src/paygo/ExtractAddressPayGoAttestation.d.ts → cjs/src/paygo/parsePayGoAttestation.d.ts} +8 -3
  81. package/dist/cjs/src/paygo/parsePayGoAttestation.d.ts.map +1 -0
  82. package/dist/cjs/src/paygo/parsePayGoAttestation.js +50 -0
  83. package/dist/cjs/src/paygo/psbt/Errors.d.ts +22 -0
  84. package/dist/cjs/src/paygo/psbt/Errors.d.ts.map +1 -0
  85. package/dist/cjs/src/paygo/psbt/Errors.js +44 -0
  86. package/dist/cjs/src/paygo/psbt/index.d.ts +2 -0
  87. package/dist/cjs/src/paygo/psbt/index.d.ts.map +1 -0
  88. package/dist/{src/paygo → cjs/src/paygo/psbt}/index.js +2 -2
  89. package/dist/cjs/src/paygo/psbt/payGoAddressProof.d.ts +29 -0
  90. package/dist/cjs/src/paygo/psbt/payGoAddressProof.d.ts.map +1 -0
  91. package/dist/cjs/src/paygo/psbt/payGoAddressProof.js +124 -0
  92. package/dist/{src → cjs/src}/testutil/descriptor/descriptors.d.ts +4 -1
  93. package/dist/cjs/src/testutil/descriptor/descriptors.d.ts.map +1 -0
  94. package/dist/cjs/src/testutil/descriptor/descriptors.js +162 -0
  95. package/dist/cjs/src/testutil/descriptor/index.d.ts.map +1 -0
  96. package/dist/{src → cjs/src}/testutil/descriptor/index.js +1 -1
  97. package/dist/{src → cjs/src}/testutil/descriptor/mock.utils.d.ts +3 -1
  98. package/dist/cjs/src/testutil/descriptor/mock.utils.d.ts.map +1 -0
  99. package/dist/cjs/src/testutil/descriptor/mock.utils.js +92 -0
  100. package/dist/cjs/src/testutil/descriptor/psbt.utils.d.ts.map +1 -0
  101. package/dist/cjs/src/testutil/descriptor/psbt.utils.js +21 -0
  102. package/dist/cjs/src/testutil/fixtures.utils.d.ts.map +1 -0
  103. package/dist/cjs/src/testutil/fixtures.utils.js +127 -0
  104. package/dist/{src → cjs/src}/testutil/generatePayGoAttestationProof.utils.d.ts +1 -1
  105. package/dist/cjs/src/testutil/generatePayGoAttestationProof.utils.d.ts.map +1 -0
  106. package/dist/cjs/src/testutil/generatePayGoAttestationProof.utils.js +38 -0
  107. package/dist/{src → cjs/src}/testutil/index.d.ts +1 -0
  108. package/dist/cjs/src/testutil/index.d.ts.map +1 -0
  109. package/dist/{src → cjs/src}/testutil/index.js +2 -1
  110. package/dist/{src → cjs/src}/testutil/key.utils.d.ts +1 -1
  111. package/dist/cjs/src/testutil/key.utils.d.ts.map +1 -0
  112. package/dist/cjs/src/testutil/key.utils.js +60 -0
  113. package/dist/cjs/src/testutil/toPlainObject.utils.d.ts.map +1 -0
  114. package/dist/cjs/src/testutil/toPlainObject.utils.js +89 -0
  115. package/dist/cjs/src/testutil/trimMessagePrefix.d.ts +11 -0
  116. package/dist/cjs/src/testutil/trimMessagePrefix.d.ts.map +1 -0
  117. package/dist/cjs/src/testutil/trimMessagePrefix.js +60 -0
  118. package/dist/cjs/src/xOnlyPubkey.d.ts.map +1 -0
  119. package/dist/cjs/src/xOnlyPubkey.js +18 -0
  120. package/dist/cjs/test/Output.d.ts +2 -0
  121. package/dist/cjs/test/Output.d.ts.map +1 -0
  122. package/dist/cjs/test/Output.js +70 -0
  123. package/dist/cjs/test/bip322/bip322.utils.d.ts +7 -0
  124. package/dist/cjs/test/bip322/bip322.utils.d.ts.map +1 -0
  125. package/dist/cjs/test/bip322/bip322.utils.js +16 -0
  126. package/dist/cjs/test/bip322/toSign.d.ts +2 -0
  127. package/dist/cjs/test/bip322/toSign.d.ts.map +1 -0
  128. package/dist/cjs/test/bip322/toSign.js +133 -0
  129. package/dist/cjs/test/bip322/toSpend.d.ts +2 -0
  130. package/dist/cjs/test/bip322/toSpend.d.ts.map +1 -0
  131. package/dist/cjs/test/bip322/toSpend.js +70 -0
  132. package/dist/cjs/test/bip322/utils.d.ts +2 -0
  133. package/dist/cjs/test/bip322/utils.d.ts.map +1 -0
  134. package/dist/cjs/test/bip322/utils.js +79 -0
  135. package/dist/cjs/test/bip322/verify.d.ts +2 -0
  136. package/dist/cjs/test/bip322/verify.d.ts.map +1 -0
  137. package/dist/cjs/test/bip322/verify.js +293 -0
  138. package/dist/cjs/test/bip32utils.d.ts +2 -0
  139. package/dist/cjs/test/bip32utils.d.ts.map +1 -0
  140. package/dist/cjs/test/bip32utils.js +62 -0
  141. package/dist/cjs/test/bip65/locktime.d.ts +2 -0
  142. package/dist/cjs/test/bip65/locktime.d.ts.map +1 -0
  143. package/dist/cjs/test/bip65/locktime.js +22 -0
  144. package/dist/cjs/test/descriptor/Output.d.ts +2 -0
  145. package/dist/cjs/test/descriptor/Output.d.ts.map +1 -0
  146. package/dist/cjs/test/descriptor/Output.js +44 -0
  147. package/dist/cjs/test/descriptor/derive.d.ts +2 -0
  148. package/dist/cjs/test/descriptor/derive.d.ts.map +1 -0
  149. package/dist/cjs/test/descriptor/derive.js +27 -0
  150. package/dist/cjs/test/descriptor/fromFixedScriptWallet.d.ts +2 -0
  151. package/dist/cjs/test/descriptor/fromFixedScriptWallet.d.ts.map +1 -0
  152. package/dist/cjs/test/descriptor/fromFixedScriptWallet.js +145 -0
  153. package/dist/cjs/test/descriptor/parse/PatternMatcher.d.ts +2 -0
  154. package/dist/cjs/test/descriptor/parse/PatternMatcher.d.ts.map +1 -0
  155. package/dist/cjs/test/descriptor/parse/PatternMatcher.js +120 -0
  156. package/dist/cjs/test/descriptor/psbt/VirtualSize.d.ts +2 -0
  157. package/dist/cjs/test/descriptor/psbt/VirtualSize.d.ts.map +1 -0
  158. package/dist/cjs/test/descriptor/psbt/VirtualSize.js +71 -0
  159. package/dist/cjs/test/descriptor/psbt/assertSatisfiable.d.ts +2 -0
  160. package/dist/cjs/test/descriptor/psbt/assertSatisfiable.d.ts.map +1 -0
  161. package/dist/cjs/test/descriptor/psbt/assertSatisfiable.js +56 -0
  162. package/dist/cjs/test/descriptor/psbt/findDescriptors.d.ts +2 -0
  163. package/dist/cjs/test/descriptor/psbt/findDescriptors.d.ts.map +1 -0
  164. package/dist/cjs/test/descriptor/psbt/findDescriptors.js +70 -0
  165. package/dist/cjs/test/descriptor/psbt/psbt.d.ts +2 -0
  166. package/dist/cjs/test/descriptor/psbt/psbt.d.ts.map +1 -0
  167. package/dist/cjs/test/descriptor/psbt/psbt.js +211 -0
  168. package/dist/cjs/test/dustThreshold.d.ts +2 -0
  169. package/dist/cjs/test/dustThreshold.d.ts.map +1 -0
  170. package/dist/cjs/test/dustThreshold.js +110 -0
  171. package/dist/cjs/test/paygo/attestation.d.ts +2 -0
  172. package/dist/cjs/test/paygo/attestation.d.ts.map +1 -0
  173. package/dist/cjs/test/paygo/attestation.js +23 -0
  174. package/dist/cjs/test/paygo/parsePayGoAttestation.d.ts +2 -0
  175. package/dist/cjs/test/paygo/parsePayGoAttestation.d.ts.map +1 -0
  176. package/dist/cjs/test/paygo/parsePayGoAttestation.js +75 -0
  177. package/dist/cjs/test/paygo/psbt/payGoAddressProof.d.ts +9 -0
  178. package/dist/cjs/test/paygo/psbt/payGoAddressProof.d.ts.map +1 -0
  179. package/dist/cjs/test/paygo/psbt/payGoAddressProof.js +163 -0
  180. package/dist/cjs/test/xOnlyPubkey.d.ts +2 -0
  181. package/dist/cjs/test/xOnlyPubkey.d.ts.map +1 -0
  182. package/dist/cjs/test/xOnlyPubkey.js +18 -0
  183. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  184. package/dist/esm/Output.d.ts +43 -0
  185. package/dist/esm/Output.js +53 -0
  186. package/dist/esm/bip322/index.d.ts +5 -0
  187. package/dist/esm/bip322/index.d.ts.map +1 -0
  188. package/dist/esm/bip322/index.js +5 -0
  189. package/dist/esm/bip322/toSign.d.ts +25 -0
  190. package/dist/esm/bip322/toSign.d.ts.map +1 -0
  191. package/dist/esm/bip322/toSign.js +120 -0
  192. package/dist/esm/bip322/toSpend.d.ts +22 -0
  193. package/dist/esm/bip322/toSpend.d.ts.map +1 -0
  194. package/dist/esm/bip322/toSpend.js +66 -0
  195. package/dist/esm/bip322/utils.d.ts +18 -0
  196. package/dist/esm/bip322/utils.d.ts.map +1 -0
  197. package/dist/esm/bip322/utils.js +77 -0
  198. package/dist/esm/bip322/verify.d.ts +12 -0
  199. package/dist/esm/bip322/verify.d.ts.map +1 -0
  200. package/dist/esm/bip322/verify.js +76 -0
  201. package/dist/esm/bip32utils.d.ts +16 -0
  202. package/dist/esm/bip32utils.d.ts.map +1 -0
  203. package/dist/esm/bip32utils.js +34 -0
  204. package/dist/esm/bip65/index.d.ts +2 -0
  205. package/dist/esm/bip65/index.js +2 -0
  206. package/dist/esm/bip65/locktime.d.ts +8 -0
  207. package/dist/esm/bip65/locktime.js +34 -0
  208. package/dist/esm/descriptor/DescriptorMap.d.ts +9 -0
  209. package/dist/{src → esm}/descriptor/DescriptorMap.d.ts.map +1 -1
  210. package/dist/esm/descriptor/DescriptorMap.js +6 -0
  211. package/dist/esm/descriptor/Output.d.ts +23 -0
  212. package/dist/{src → esm}/descriptor/Output.d.ts.map +1 -1
  213. package/dist/esm/descriptor/Output.js +32 -0
  214. package/dist/esm/descriptor/VirtualSize.d.ts +23 -0
  215. package/dist/{src → esm}/descriptor/VirtualSize.d.ts.map +1 -1
  216. package/dist/esm/descriptor/VirtualSize.js +94 -0
  217. package/dist/esm/descriptor/address.d.ts +5 -0
  218. package/dist/{src → esm}/descriptor/address.d.ts.map +1 -1
  219. package/dist/esm/descriptor/address.js +11 -0
  220. package/dist/esm/descriptor/derive.d.ts +13 -0
  221. package/dist/{src → esm}/descriptor/derive.d.ts.map +1 -1
  222. package/dist/esm/descriptor/derive.js +38 -0
  223. package/dist/esm/descriptor/fromFixedScriptWallet.d.ts +16 -0
  224. package/dist/{src → esm}/descriptor/fromFixedScriptWallet.d.ts.map +1 -1
  225. package/dist/esm/descriptor/fromFixedScriptWallet.js +51 -0
  226. package/dist/esm/descriptor/index.d.ts +11 -0
  227. package/dist/{src → esm}/descriptor/index.d.ts.map +1 -1
  228. package/dist/esm/descriptor/index.js +11 -0
  229. package/dist/esm/descriptor/parse/PatternMatcher.d.ts +14 -0
  230. package/dist/esm/descriptor/parse/PatternMatcher.d.ts.map +1 -0
  231. package/dist/esm/descriptor/parse/PatternMatcher.js +56 -0
  232. package/dist/esm/descriptor/psbt/assertSatisfiable.d.ts +20 -0
  233. package/dist/{src → esm}/descriptor/psbt/assertSatisfiable.d.ts.map +1 -1
  234. package/dist/esm/descriptor/psbt/assertSatisfiable.js +69 -0
  235. package/dist/esm/descriptor/psbt/createPsbt.d.ts +23 -0
  236. package/dist/esm/descriptor/psbt/createPsbt.d.ts.map +1 -0
  237. package/dist/esm/descriptor/psbt/createPsbt.js +69 -0
  238. package/dist/esm/descriptor/psbt/findDescriptors.d.ts +26 -0
  239. package/dist/{src → esm}/descriptor/psbt/findDescriptors.d.ts.map +1 -1
  240. package/dist/esm/descriptor/psbt/findDescriptors.js +94 -0
  241. package/dist/esm/descriptor/psbt/index.d.ts +7 -0
  242. package/dist/esm/descriptor/psbt/index.js +7 -0
  243. package/dist/esm/descriptor/psbt/parse.d.ts +27 -0
  244. package/dist/{src → esm}/descriptor/psbt/parse.d.ts.map +1 -1
  245. package/dist/esm/descriptor/psbt/parse.js +51 -0
  246. package/dist/esm/descriptor/psbt/sign.d.ts +26 -0
  247. package/dist/esm/descriptor/psbt/sign.d.ts.map +1 -0
  248. package/dist/esm/descriptor/psbt/sign.js +34 -0
  249. package/dist/esm/descriptor/psbt/wrap.d.ts +12 -0
  250. package/dist/{src → esm}/descriptor/psbt/wrap.d.ts.map +1 -1
  251. package/dist/esm/descriptor/psbt/wrap.js +38 -0
  252. package/dist/esm/dustThreshold.d.ts +4 -0
  253. package/dist/esm/dustThreshold.js +97 -0
  254. package/dist/esm/index.d.ts +10 -0
  255. package/dist/{src → esm}/index.d.ts.map +1 -1
  256. package/dist/esm/index.js +10 -0
  257. package/dist/esm/paygo/attestation.d.ts +11 -0
  258. package/dist/esm/paygo/attestation.d.ts.map +1 -0
  259. package/dist/esm/paygo/attestation.js +18 -0
  260. package/dist/esm/paygo/index.d.ts +3 -0
  261. package/dist/esm/paygo/index.d.ts.map +1 -0
  262. package/dist/esm/paygo/index.js +3 -0
  263. package/dist/esm/paygo/parsePayGoAttestation.d.ts +16 -0
  264. package/dist/esm/paygo/parsePayGoAttestation.d.ts.map +1 -0
  265. package/dist/esm/paygo/parsePayGoAttestation.js +43 -0
  266. package/dist/esm/paygo/psbt/Errors.d.ts +22 -0
  267. package/dist/esm/paygo/psbt/Errors.d.ts.map +1 -0
  268. package/dist/esm/paygo/psbt/Errors.js +35 -0
  269. package/dist/esm/paygo/psbt/index.d.ts +2 -0
  270. package/dist/esm/paygo/psbt/index.d.ts.map +1 -0
  271. package/dist/esm/paygo/psbt/index.js +2 -0
  272. package/dist/esm/paygo/psbt/payGoAddressProof.d.ts +29 -0
  273. package/dist/esm/paygo/psbt/payGoAddressProof.d.ts.map +1 -0
  274. package/dist/esm/paygo/psbt/payGoAddressProof.js +85 -0
  275. package/dist/esm/testutil/descriptor/descriptors.d.ts +13 -0
  276. package/dist/esm/testutil/descriptor/descriptors.d.ts.map +1 -0
  277. package/dist/esm/testutil/descriptor/descriptors.js +150 -0
  278. package/dist/esm/testutil/descriptor/index.d.ts +4 -0
  279. package/dist/esm/testutil/descriptor/index.js +4 -0
  280. package/dist/esm/testutil/descriptor/mock.utils.d.ts +36 -0
  281. package/dist/esm/testutil/descriptor/mock.utils.d.ts.map +1 -0
  282. package/dist/esm/testutil/descriptor/mock.utils.js +53 -0
  283. package/dist/esm/testutil/descriptor/psbt.utils.d.ts +4 -0
  284. package/dist/{src → esm}/testutil/descriptor/psbt.utils.d.ts.map +1 -1
  285. package/dist/esm/testutil/descriptor/psbt.utils.js +17 -0
  286. package/dist/esm/testutil/fixtures.utils.d.ts +15 -0
  287. package/dist/{src → esm}/testutil/fixtures.utils.js +5 -42
  288. package/dist/esm/testutil/generatePayGoAttestationProof.utils.d.ts +12 -0
  289. package/dist/esm/testutil/generatePayGoAttestationProof.utils.d.ts.map +1 -0
  290. package/dist/esm/testutil/generatePayGoAttestationProof.utils.js +32 -0
  291. package/dist/esm/testutil/index.d.ts +6 -0
  292. package/dist/{src → esm}/testutil/index.d.ts.map +1 -1
  293. package/dist/esm/testutil/index.js +6 -0
  294. package/dist/esm/testutil/key.utils.d.ts +16 -0
  295. package/dist/{src → esm}/testutil/key.utils.d.ts.map +1 -1
  296. package/dist/esm/testutil/key.utils.js +22 -0
  297. package/dist/esm/testutil/toPlainObject.utils.d.ts +11 -0
  298. package/dist/{src → esm}/testutil/toPlainObject.utils.d.ts.map +1 -1
  299. package/dist/esm/testutil/toPlainObject.utils.js +85 -0
  300. package/dist/esm/testutil/trimMessagePrefix.d.ts +11 -0
  301. package/dist/esm/testutil/trimMessagePrefix.d.ts.map +1 -0
  302. package/dist/esm/testutil/trimMessagePrefix.js +24 -0
  303. package/dist/esm/xOnlyPubkey.d.ts +2 -0
  304. package/dist/esm/xOnlyPubkey.js +15 -0
  305. package/package.json +50 -25
  306. package/dist/src/Output.js +0 -60
  307. package/dist/src/bip32utils.d.ts +0 -16
  308. package/dist/src/bip32utils.d.ts.map +0 -1
  309. package/dist/src/bip32utils.js +0 -72
  310. package/dist/src/bip65/locktime.js +0 -37
  311. package/dist/src/descriptor/DescriptorMap.js +0 -9
  312. package/dist/src/descriptor/Output.js +0 -41
  313. package/dist/src/descriptor/VirtualSize.js +0 -100
  314. package/dist/src/descriptor/derive.js +0 -45
  315. package/dist/src/descriptor/fromFixedScriptWallet.js +0 -88
  316. package/dist/src/descriptor/psbt/assertSatisfiable.js +0 -74
  317. package/dist/src/descriptor/psbt/createPsbt.d.ts.map +0 -1
  318. package/dist/src/descriptor/psbt/createPsbt.js +0 -82
  319. package/dist/src/descriptor/psbt/findDescriptors.js +0 -98
  320. package/dist/src/descriptor/psbt/parse.js +0 -87
  321. package/dist/src/descriptor/psbt/sign.d.ts.map +0 -1
  322. package/dist/src/descriptor/psbt/sign.js +0 -42
  323. package/dist/src/descriptor/psbt/wrap.js +0 -76
  324. package/dist/src/dustThreshold.js +0 -134
  325. package/dist/src/paygo/ExtractAddressPayGoAttestation.d.ts.map +0 -1
  326. package/dist/src/paygo/ExtractAddressPayGoAttestation.js +0 -44
  327. package/dist/src/paygo/index.d.ts +0 -2
  328. package/dist/src/paygo/index.d.ts.map +0 -1
  329. package/dist/src/testutil/descriptor/descriptors.d.ts.map +0 -1
  330. package/dist/src/testutil/descriptor/descriptors.js +0 -125
  331. package/dist/src/testutil/descriptor/mock.utils.d.ts.map +0 -1
  332. package/dist/src/testutil/descriptor/mock.utils.js +0 -91
  333. package/dist/src/testutil/descriptor/psbt.utils.js +0 -20
  334. package/dist/src/testutil/generatePayGoAttestationProof.utils.d.ts.map +0 -1
  335. package/dist/src/testutil/generatePayGoAttestationProof.utils.js +0 -43
  336. package/dist/src/testutil/key.utils.js +0 -59
  337. package/dist/src/testutil/toPlainObject.utils.js +0 -75
  338. package/dist/src/xOnlyPubkey.js +0 -18
  339. /package/dist/{src → cjs/src}/Output.d.ts +0 -0
  340. /package/dist/{src → cjs/src}/bip65/index.d.ts +0 -0
  341. /package/dist/{src → cjs/src}/bip65/locktime.d.ts +0 -0
  342. /package/dist/{src → cjs/src}/descriptor/psbt/index.d.ts +0 -0
  343. /package/dist/{src → cjs/src}/dustThreshold.d.ts +0 -0
  344. /package/dist/{src → cjs/src}/testutil/descriptor/index.d.ts +0 -0
  345. /package/dist/{src → cjs/src}/testutil/descriptor/psbt.utils.d.ts +0 -0
  346. /package/dist/{src → cjs/src}/testutil/fixtures.utils.d.ts +0 -0
  347. /package/dist/{src → cjs/src}/testutil/toPlainObject.utils.d.ts +0 -0
  348. /package/dist/{src → cjs/src}/xOnlyPubkey.d.ts +0 -0
  349. /package/dist/{src → esm}/Output.d.ts.map +0 -0
  350. /package/dist/{src → esm}/bip65/index.d.ts.map +0 -0
  351. /package/dist/{src → esm}/bip65/locktime.d.ts.map +0 -0
  352. /package/dist/{src → esm}/descriptor/psbt/index.d.ts.map +0 -0
  353. /package/dist/{src → esm}/dustThreshold.d.ts.map +0 -0
  354. /package/dist/{src → esm}/testutil/descriptor/index.d.ts.map +0 -0
  355. /package/dist/{src → esm}/testutil/fixtures.utils.d.ts.map +0 -0
  356. /package/dist/{src → esm}/xOnlyPubkey.d.ts.map +0 -0
@@ -0,0 +1,92 @@
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, undefined),
56
+ value,
57
+ },
58
+ descriptor,
59
+ selectTapLeafScript: outputParams.selectTapLeafScript,
60
+ sequence: outputParams.sequence,
61
+ };
62
+ }
63
+ function tryDeriveAtIndex(descriptor, index) {
64
+ return descriptor.hasWildcard() ? descriptor.atDerivationIndex(index) : descriptor;
65
+ }
66
+ function mockPsbt(inputs, outputs, params = {}) {
67
+ return (0, descriptor_1.createPsbt)({ ...params, network: params.network ?? utxolib.networks.bitcoin }, inputs.map((i) => mockDerivedDescriptorWalletOutput(tryDeriveAtIndex(i.descriptor, i.index), i)), outputs.map((o) => {
68
+ const derivedDescriptor = tryDeriveAtIndex(o.descriptor, o.index);
69
+ return {
70
+ script: (0, descriptor_1.createScriptPubKeyFromDescriptor)(derivedDescriptor, undefined),
71
+ value: o.value,
72
+ descriptor: o.external ? undefined : derivedDescriptor,
73
+ };
74
+ }));
75
+ }
76
+ 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 = {}, } = {}) {
77
+ return mockPsbt([
78
+ { descriptor: descriptorSelf, index: 0 },
79
+ { descriptor: descriptorSelf, index: 1, id: { vout: 1 } },
80
+ ], [
81
+ { descriptor: descriptorOther, index: 0, value: BigInt(4e5), external: true },
82
+ { descriptor: descriptorSelf, index: 0, value: BigInt(4e5) },
83
+ ], params);
84
+ }
85
+ function mockPsbtDefaultWithDescriptorTemplate(t, params = {}) {
86
+ return mockPsbtDefault({
87
+ descriptorSelf: (0, descriptors_1.getDescriptor)(t, (0, descriptors_1.getDefaultXPubs)('a')),
88
+ descriptorOther: (0, descriptors_1.getDescriptor)(t, (0, descriptors_1.getDefaultXPubs)('b')),
89
+ params,
90
+ });
91
+ }
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL21vY2sudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQkEsOEVBaUJDO0FBbUJELDRCQWlCQztBQUVELDBDQW9CQztBQUVELHNGQVNDO0FBcEhELDhEQUFnRDtBQUVoRCxpREFLMEI7QUFFMUIsK0NBQW1GO0FBWW5GLFNBQVMsWUFBWSxDQUFDLEVBQXVCO0lBSTNDLE1BQU0sSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELE1BQU0sSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzNCLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVELFNBQWdCLGlDQUFpQyxDQUMvQyxVQUFzQixFQUN0QixlQUErQyxFQUFFO0lBRWpELE1BQU0sRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDO0lBQzdDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRCxPQUFPO1FBQ0wsSUFBSTtRQUNKLEtBQUssRUFBRSxJQUFJO1FBQ1gsV0FBVyxFQUFFO1lBQ1gsTUFBTSxFQUFFLElBQUEsNkNBQWdDLEVBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQztZQUMvRCxLQUFLO1NBQ047UUFDRCxVQUFVO1FBQ1YsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLG1CQUFtQjtRQUNyRCxRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVE7S0FDaEMsQ0FBQztBQUNKLENBQUM7QUFlRCxTQUFTLGdCQUFnQixDQUFDLFVBQXNCLEVBQUUsS0FBYTtJQUM3RCxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDckYsQ0FBQztBQUVELFNBQWdCLFFBQVEsQ0FDdEIsTUFBbUIsRUFDbkIsT0FBcUIsRUFDckIsU0FBOEIsRUFBRTtJQUVoQyxPQUFPLElBQUEsdUJBQVUsRUFDZixFQUFFLEdBQUcsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQ2xFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2hHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNoQixNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBQSw2Q0FBZ0MsRUFBQyxpQkFBaUIsRUFBRSxTQUFTLENBQUM7WUFDdEUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1lBQ2QsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1NBQ3ZELENBQUM7SUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxFQUM5QixjQUFjLEdBQUcsSUFBQSwyQkFBYSxFQUFDLFNBQVMsRUFBRSxJQUFBLDZCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFDL0QsZUFBZSxHQUFHLElBQUEsMkJBQWEsRUFBQyxTQUFTLEVBQUUsSUFBQSw2QkFBZSxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ2hFLE1BQU0sR0FBRyxFQUFFLE1BS1QsRUFBRTtJQUNKLE9BQU8sUUFBUSxDQUNiO1FBQ0UsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7UUFDeEMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO0tBQzFELEVBQ0Q7UUFDRSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFDN0UsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtLQUM3RCxFQUNELE1BQU0sQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHFDQUFxQyxDQUNuRCxDQUFxQixFQUNyQixTQUE4QixFQUFFO0lBRWhDLE9BQU8sZUFBZSxDQUFDO1FBQ3JCLGNBQWMsRUFBRSxJQUFBLDJCQUFhLEVBQUMsQ0FBQyxFQUFFLElBQUEsNkJBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxlQUFlLEVBQUUsSUFBQSwyQkFBYSxFQUFDLENBQUMsRUFBRSxJQUFBLDZCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTTtLQUNQLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmlwdG9yLCBNaW5pc2NyaXB0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHtcbiAgUHNidFBhcmFtcyxcbiAgY3JlYXRlUHNidCxcbiAgY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IsXG4gIERlcml2ZWREZXNjcmlwdG9yVHJhbnNhY3Rpb25JbnB1dCxcbn0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcic7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JUZW1wbGF0ZSwgZ2V0RGVmYXVsdFhQdWJzLCBnZXREZXNjcmlwdG9yIH0gZnJvbSAnLi9kZXNjcmlwdG9ycyc7XG5cbnR5cGUgTW9ja091dHB1dElkUGFyYW1zID0geyBoYXNoPzogc3RyaW5nOyB2b3V0PzogbnVtYmVyIH07XG5cbnR5cGUgQmFzZU1vY2tEZXNjcmlwdG9yT3V0cHV0UGFyYW1zID0ge1xuICBpZD86IE1vY2tPdXRwdXRJZFBhcmFtcztcbiAgaW5kZXg/OiBudW1iZXI7XG4gIHZhbHVlPzogYmlnaW50O1xuICBzZXF1ZW5jZT86IG51bWJlcjtcbiAgc2VsZWN0VGFwTGVhZlNjcmlwdD86IE1pbmlzY3JpcHQ7XG59O1xuXG5mdW5jdGlvbiBtb2NrT3V0cHV0SWQoaWQ/OiBNb2NrT3V0cHV0SWRQYXJhbXMpOiB7XG4gIGhhc2g6IHN0cmluZztcbiAgdm91dDogbnVtYmVyO1xufSB7XG4gIGNvbnN0IGhhc2ggPSBpZD8uaGFzaCA/PyBCdWZmZXIuYWxsb2MoMzIsIDEpLnRvU3RyaW5nKCdoZXgnKTtcbiAgY29uc3Qgdm91dCA9IGlkPy52b3V0ID8/IDA7XG4gIHJldHVybiB7IGhhc2gsIHZvdXQgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tEZXJpdmVkRGVzY3JpcHRvcldhbGxldE91dHB1dChcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcixcbiAgb3V0cHV0UGFyYW1zOiBCYXNlTW9ja0Rlc2NyaXB0b3JPdXRwdXRQYXJhbXMgPSB7fVxuKTogRGVyaXZlZERlc2NyaXB0b3JUcmFuc2FjdGlvbklucHV0IHtcbiAgY29uc3QgeyB2YWx1ZSA9IEJpZ0ludCgxZTYpIH0gPSBvdXRwdXRQYXJhbXM7XG4gIGNvbnN0IHsgaGFzaCwgdm91dCB9ID0gbW9ja091dHB1dElkKG91dHB1dFBhcmFtcy5pZCk7XG4gIHJldHVybiB7XG4gICAgaGFzaCxcbiAgICBpbmRleDogdm91dCxcbiAgICB3aXRuZXNzVXR4bzoge1xuICAgICAgc2NyaXB0OiBjcmVhdGVTY3JpcHRQdWJLZXlGcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yLCB1bmRlZmluZWQpLFxuICAgICAgdmFsdWUsXG4gICAgfSxcbiAgICBkZXNjcmlwdG9yLFxuICAgIHNlbGVjdFRhcExlYWZTY3JpcHQ6IG91dHB1dFBhcmFtcy5zZWxlY3RUYXBMZWFmU2NyaXB0LFxuICAgIHNlcXVlbmNlOiBvdXRwdXRQYXJhbXMuc2VxdWVuY2UsXG4gIH07XG59XG5cbnR5cGUgTW9ja0lucHV0ID0gQmFzZU1vY2tEZXNjcmlwdG9yT3V0cHV0UGFyYW1zICYge1xuICBpbmRleDogbnVtYmVyO1xuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yO1xuICBzZWxlY3RUYXBMZWFmU2NyaXB0PzogTWluaXNjcmlwdDtcbn07XG5cbnR5cGUgTW9ja091dHB1dCA9IHtcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjtcbiAgaW5kZXg6IG51bWJlcjtcbiAgdmFsdWU6IGJpZ2ludDtcbiAgZXh0ZXJuYWw/OiBib29sZWFuO1xufTtcblxuZnVuY3Rpb24gdHJ5RGVyaXZlQXRJbmRleChkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLCBpbmRleDogbnVtYmVyKTogRGVzY3JpcHRvciB7XG4gIHJldHVybiBkZXNjcmlwdG9yLmhhc1dpbGRjYXJkKCkgPyBkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KGluZGV4KSA6IGRlc2NyaXB0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrUHNidChcbiAgaW5wdXRzOiBNb2NrSW5wdXRbXSxcbiAgb3V0cHV0czogTW9ja091dHB1dFtdLFxuICBwYXJhbXM6IFBhcnRpYWw8UHNidFBhcmFtcz4gPSB7fVxuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIHJldHVybiBjcmVhdGVQc2J0KFxuICAgIHsgLi4ucGFyYW1zLCBuZXR3b3JrOiBwYXJhbXMubmV0d29yayA/PyB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4gfSxcbiAgICBpbnB1dHMubWFwKChpKSA9PiBtb2NrRGVyaXZlZERlc2NyaXB0b3JXYWxsZXRPdXRwdXQodHJ5RGVyaXZlQXRJbmRleChpLmRlc2NyaXB0b3IsIGkuaW5kZXgpLCBpKSksXG4gICAgb3V0cHV0cy5tYXAoKG8pID0+IHtcbiAgICAgIGNvbnN0IGRlcml2ZWREZXNjcmlwdG9yID0gdHJ5RGVyaXZlQXRJbmRleChvLmRlc2NyaXB0b3IsIG8uaW5kZXgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2NyaXB0OiBjcmVhdGVTY3JpcHRQdWJLZXlGcm9tRGVzY3JpcHRvcihkZXJpdmVkRGVzY3JpcHRvciwgdW5kZWZpbmVkKSxcbiAgICAgICAgdmFsdWU6IG8udmFsdWUsXG4gICAgICAgIGRlc2NyaXB0b3I6IG8uZXh0ZXJuYWwgPyB1bmRlZmluZWQgOiBkZXJpdmVkRGVzY3JpcHRvcixcbiAgICAgIH07XG4gICAgfSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tQc2J0RGVmYXVsdCh7XG4gIGRlc2NyaXB0b3JTZWxmID0gZ2V0RGVzY3JpcHRvcignV3NoMk9mMycsIGdldERlZmF1bHRYUHVicygnYScpKSxcbiAgZGVzY3JpcHRvck90aGVyID0gZ2V0RGVzY3JpcHRvcignV3NoMk9mMycsIGdldERlZmF1bHRYUHVicygnYicpKSxcbiAgcGFyYW1zID0ge30sXG59OiB7XG4gIGRlc2NyaXB0b3JTZWxmPzogRGVzY3JpcHRvcjtcbiAgZGVzY3JpcHRvck90aGVyPzogRGVzY3JpcHRvcjtcbiAgcGFyYW1zPzogUGFydGlhbDxQc2J0UGFyYW1zPjtcbn0gPSB7fSk6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICByZXR1cm4gbW9ja1BzYnQoXG4gICAgW1xuICAgICAgeyBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yU2VsZiwgaW5kZXg6IDAgfSxcbiAgICAgIHsgZGVzY3JpcHRvcjogZGVzY3JpcHRvclNlbGYsIGluZGV4OiAxLCBpZDogeyB2b3V0OiAxIH0gfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHsgZGVzY3JpcHRvcjogZGVzY3JpcHRvck90aGVyLCBpbmRleDogMCwgdmFsdWU6IEJpZ0ludCg0ZTUpLCBleHRlcm5hbDogdHJ1ZSB9LFxuICAgICAgeyBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yU2VsZiwgaW5kZXg6IDAsIHZhbHVlOiBCaWdJbnQoNGU1KSB9LFxuICAgIF0sXG4gICAgcGFyYW1zXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrUHNidERlZmF1bHRXaXRoRGVzY3JpcHRvclRlbXBsYXRlKFxuICB0OiBEZXNjcmlwdG9yVGVtcGxhdGUsXG4gIHBhcmFtczogUGFydGlhbDxQc2J0UGFyYW1zPiA9IHt9XG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHtcbiAgcmV0dXJuIG1vY2tQc2J0RGVmYXVsdCh7XG4gICAgZGVzY3JpcHRvclNlbGY6IGdldERlc2NyaXB0b3IodCwgZ2V0RGVmYXVsdFhQdWJzKCdhJykpLFxuICAgIGRlc2NyaXB0b3JPdGhlcjogZ2V0RGVzY3JpcHRvcih0LCBnZXREZWZhdWx0WFB1YnMoJ2InKSksXG4gICAgcGFyYW1zLFxuICB9KTtcbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"psbt.utils.d.ts","sourceRoot":"","sources":["../../../../../src/testutil/descriptor/psbt.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAIhD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAiB9D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAEnE"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPlainObjectFromPsbt = toPlainObjectFromPsbt;
4
+ exports.toPlainObjectFromTx = toPlainObjectFromTx;
5
+ const testutil_1 = require("../../../src/testutil");
6
+ function toPlainObjectFromPsbt(v) {
7
+ return (0, testutil_1.toPlainObject)(v, {
8
+ propertyDescriptors: true,
9
+ ignorePaths(path) {
10
+ return ((0, testutil_1.matchPath)(path, ['__CACHE']) ||
11
+ (0, testutil_1.matchPath)(path, ['opts', 'network']) ||
12
+ (0, testutil_1.matchPath)(path, ['data', 'globalMap', 'unsignedTx', 'tx', 'network']) ||
13
+ (0, testutil_1.matchPath)(path, ['tx', 'network']) ||
14
+ (0, testutil_1.matchPath)(path, ['network']));
15
+ },
16
+ }, []);
17
+ }
18
+ function toPlainObjectFromTx(v) {
19
+ return (0, testutil_1.toPlainObject)(v, {}, []);
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHNidC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL3BzYnQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzREFpQkM7QUFFRCxrREFFQztBQXZCRCxvREFBOEU7QUFFOUUsU0FBZ0IscUJBQXFCLENBQUMsQ0FBZTtJQUNuRCxPQUFPLElBQUEsd0JBQWEsRUFDbEIsQ0FBQyxFQUNEO1FBQ0UsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixXQUFXLENBQUMsSUFBbUI7WUFDN0IsT0FBTyxDQUNMLElBQUEsb0JBQVMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDcEMsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckUsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDbEMsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzdCLENBQUM7UUFDSixDQUFDO0tBQ0YsRUFDRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FBQyxDQUFzQjtJQUN4RCxPQUFPLElBQUEsd0JBQWEsRUFBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgbWF0Y2hQYXRoLCBQYXRoRWxlbWVudCwgdG9QbGFpbk9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3NyYy90ZXN0dXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1BsYWluT2JqZWN0RnJvbVBzYnQodjogdXR4b2xpYi5Qc2J0KTogdW5rbm93biB7XG4gIHJldHVybiB0b1BsYWluT2JqZWN0KFxuICAgIHYsXG4gICAge1xuICAgICAgcHJvcGVydHlEZXNjcmlwdG9yczogdHJ1ZSxcbiAgICAgIGlnbm9yZVBhdGhzKHBhdGg6IFBhdGhFbGVtZW50W10pIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBtYXRjaFBhdGgocGF0aCwgWydfX0NBQ0hFJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsnb3B0cycsICduZXR3b3JrJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsnZGF0YScsICdnbG9iYWxNYXAnLCAndW5zaWduZWRUeCcsICd0eCcsICduZXR3b3JrJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsndHgnLCAnbmV0d29yayddKSB8fFxuICAgICAgICAgIG1hdGNoUGF0aChwYXRoLCBbJ25ldHdvcmsnXSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICBbXVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9QbGFpbk9iamVjdEZyb21UeCh2OiB1dHhvbGliLlRyYW5zYWN0aW9uKTogdW5rbm93biB7XG4gIHJldHVybiB0b1BsYWluT2JqZWN0KHYsIHt9LCBbXSk7XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.utils.d.ts","sourceRoot":"","sources":["../../../../src/testutil/fixtures.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoDH;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA+BnG;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAExC"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ /**
3
+ * Contains helpers for working with test fixtures
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getFixture = getFixture;
40
+ exports.jsonNormalize = jsonNormalize;
41
+ const fs = __importStar(require("fs"));
42
+ const mpath = __importStar(require("path"));
43
+ function isNodeJsError(e) {
44
+ return e instanceof Error && typeof e.code === 'string';
45
+ }
46
+ function fixtureEncoding(path) {
47
+ if (path.endsWith('.json')) {
48
+ return 'json';
49
+ }
50
+ if (path.endsWith('.hex')) {
51
+ return 'hex';
52
+ }
53
+ if (path.endsWith('.txt')) {
54
+ return 'txt';
55
+ }
56
+ throw new Error(`unknown fixture encoding for ${path}`);
57
+ }
58
+ function decodeFixture(raw, encoding) {
59
+ switch (encoding) {
60
+ case 'json':
61
+ return JSON.parse(raw);
62
+ case 'hex':
63
+ return Buffer.from(raw, 'hex');
64
+ case 'txt':
65
+ return raw;
66
+ }
67
+ }
68
+ function encodeFixture(value, encoding) {
69
+ switch (encoding) {
70
+ case 'json':
71
+ return JSON.stringify(value, null, 2) + '\n';
72
+ case 'hex':
73
+ if (!Buffer.isBuffer(value)) {
74
+ throw new Error(`expected Buffer, got ${typeof value}`);
75
+ }
76
+ return value.toString('hex');
77
+ case 'txt':
78
+ if (typeof value !== 'string') {
79
+ throw new Error(`expected string, got ${typeof value}`);
80
+ }
81
+ return value;
82
+ }
83
+ }
84
+ /**
85
+ * Return fixture described in `path`.
86
+ *
87
+ * If file does not exist and `defaultValue` is provided, writes defaultValue to `path` and throws an error.
88
+ *
89
+ * @param path
90
+ * @param defaultValue
91
+ * @return T - fixture content
92
+ */
93
+ async function getFixture(path, defaultValue) {
94
+ try {
95
+ await fs.promises.stat(mpath.dirname(path));
96
+ }
97
+ catch (e) {
98
+ if (isNodeJsError(e) && e.code === 'ENOENT') {
99
+ throw new Error(`fixture directory ${mpath.dirname(path)} not found, please create it first`);
100
+ }
101
+ throw e;
102
+ }
103
+ const encoding = fixtureEncoding(path);
104
+ try {
105
+ return decodeFixture(await fs.promises.readFile(path, 'utf8'), encoding);
106
+ }
107
+ catch (e) {
108
+ if (isNodeJsError(e) && e.code === 'ENOENT') {
109
+ if (process.env.WRITE_FIXTURES === '0') {
110
+ throw new Error(`fixture ${path} not found, WRITE_FIXTURES=0`);
111
+ }
112
+ if (defaultValue === undefined) {
113
+ throw new Error(`fixture ${path} not found and no default value given`);
114
+ }
115
+ if (typeof defaultValue === 'function') {
116
+ defaultValue = await defaultValue();
117
+ }
118
+ await fs.promises.writeFile(path, encodeFixture(defaultValue, encoding));
119
+ throw new Error(`wrote default value for ${path}, please inspect and restart test`);
120
+ }
121
+ throw e;
122
+ }
123
+ }
124
+ function jsonNormalize(v) {
125
+ return JSON.parse(JSON.stringify(v));
126
+ }
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdHV0aWwvZml4dHVyZXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZESCxnQ0ErQkM7QUFFRCxzQ0FFQztBQTlGRCx1Q0FBeUI7QUFDekIsNENBQThCO0FBSTlCLFNBQVMsYUFBYSxDQUFDLENBQVU7SUFDL0IsT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJLE9BQVEsQ0FBMkIsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0FBQ3JGLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQUFZO0lBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsUUFBeUI7SUFDM0QsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLE1BQU07WUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxLQUFLLEtBQUs7WUFDUixPQUFPLEdBQUcsQ0FBQztJ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WyIvKipcbiAqIENvbnRhaW5zIGhlbHBlcnMgZm9yIHdvcmtpbmcgd2l0aCB0ZXN0IGZpeHR1cmVzXG4gKi9cblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgbXBhdGggZnJvbSAncGF0aCc7XG5cbnR5cGUgRml4dHVyZUVuY29kaW5nID0gJ2pzb24nIHwgJ2hleCcgfCAndHh0JztcblxuZnVuY3Rpb24gaXNOb2RlSnNFcnJvcihlOiB1bmtub3duKTogZSBpcyBOb2RlSlMuRXJybm9FeGNlcHRpb24ge1xuICByZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yICYmIHR5cGVvZiAoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBmaXh0dXJlRW5jb2RpbmcocGF0aDogc3RyaW5nKTogRml4dHVyZUVuY29kaW5nIHtcbiAgaWYgKHBhdGguZW5kc1dpdGgoJy5qc29uJykpIHtcbiAgICByZXR1cm4gJ2pzb24nO1xuICB9XG4gIGlmIChwYXRoLmVuZHNXaXRoKCcuaGV4JykpIHtcbiAgICByZXR1cm4gJ2hleCc7XG4gIH1cbiAgaWYgKHBhdGguZW5kc1dpdGgoJy50eHQnKSkge1xuICAgIHJldHVybiAndHh0JztcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gZml4dHVyZSBlbmNvZGluZyBmb3IgJHtwYXRofWApO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVGaXh0dXJlKHJhdzogc3RyaW5nLCBlbmNvZGluZzogRml4dHVyZUVuY29kaW5nKTogdW5rbm93biB7XG4gIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICBjYXNlICdqc29uJzpcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJhdyk7XG4gICAgY2FzZSAnaGV4JzpcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShyYXcsICdoZXgnKTtcbiAgICBjYXNlICd0eHQnOlxuICAgICAgcmV0dXJuIHJhdztcbiAgfVxufVxuXG5mdW5jdGlvbiBlbmNvZGVGaXh0dXJlKHZhbHVlOiB1bmtub3duLCBlbmNvZGluZzogRml4dHVyZUVuY29kaW5nKTogc3RyaW5nIHtcbiAgc3dpdGNoIChlbmNvZGluZykge1xuICAgIGNhc2UgJ2pzb24nOlxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAyKSArICdcXG4nO1xuICAgIGNhc2UgJ2hleCc6XG4gICAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBleHBlY3RlZCBCdWZmZXIsIGdvdCAke3R5cGVvZiB2YWx1ZX1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygnaGV4Jyk7XG4gICAgY2FzZSAndHh0JzpcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgZXhwZWN0ZWQgc3RyaW5nLCBnb3QgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gZml4dHVyZSBkZXNjcmliZWQgaW4gYHBhdGhgLlxuICpcbiAqIElmIGZpbGUgZG9lcyBub3QgZXhpc3QgYW5kIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCB3cml0ZXMgZGVmYXVsdFZhbHVlIHRvIGBwYXRoYCBhbmQgdGhyb3dzIGFuIGVycm9yLlxuICpcbiAqIEBwYXJhbSBwYXRoXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlXG4gKiBAcmV0dXJuIFQgLSBmaXh0dXJlIGNvbnRlbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEZpeHR1cmU8VD4ocGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUIHwgKCgpID0+IFByb21pc2U8VD4pKTogUHJvbWlzZTxUPiB7XG4gIHRyeSB7XG4gICAgYXdhaXQgZnMucHJvbWlzZXMuc3RhdChtcGF0aC5kaXJuYW1lKHBhdGgpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChpc05vZGVKc0Vycm9yKGUpICYmIGUuY29kZSA9PT0gJ0VOT0VOVCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZml4dHVyZSBkaXJlY3RvcnkgJHttcGF0aC5kaXJuYW1lKHBhdGgpfSBub3QgZm91bmQsIHBsZWFzZSBjcmVhdGUgaXQgZmlyc3RgKTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxuXG4gIGNvbnN0IGVuY29kaW5nID0gZml4dHVyZUVuY29kaW5nKHBhdGgpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZUZpeHR1cmUoYXdhaXQgZnMucHJvbWlzZXMucmVhZEZpbGUocGF0aCwgJ3V0ZjgnKSwgZW5jb2RpbmcpIGFzIFQ7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoaXNOb2RlSnNFcnJvcihlKSAmJiBlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuV1JJVEVfRklYVFVSRVMgPT09ICcwJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpeHR1cmUgJHtwYXRofSBub3QgZm91bmQsIFdSSVRFX0ZJWFRVUkVTPTBgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpeHR1cmUgJHtwYXRofSBub3QgZm91bmQgYW5kIG5vIGRlZmF1bHQgdmFsdWUgZ2l2ZW5gKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZGVmYXVsdFZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGF3YWl0IChkZWZhdWx0VmFsdWUgYXMgKCkgPT4gUHJvbWlzZTxUPikoKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IGZzLnByb21pc2VzLndyaXRlRmlsZShwYXRoLCBlbmNvZGVGaXh0dXJlKGRlZmF1bHRWYWx1ZSwgZW5jb2RpbmcpKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgd3JvdGUgZGVmYXVsdCB2YWx1ZSBmb3IgJHtwYXRofSwgcGxlYXNlIGluc3BlY3QgYW5kIHJlc3RhcnQgdGVzdGApO1xuICAgIH1cblxuICAgIHRocm93IGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGpzb25Ob3JtYWxpemU8VD4odjogVCk6IFQge1xuICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh2KSkgYXMgVDtcbn1cbiJdfQ==
@@ -8,5 +8,5 @@
8
8
  * @param address
9
9
  * @returns
10
10
  */
11
- export declare function generatePayGoAttestationProof(uuid: string, address: Buffer): Buffer;
11
+ export declare function generatePayGoAttestationProof(uuid: string, address: Buffer, hasPrefix?: boolean): Buffer;
12
12
  //# sourceMappingURL=generatePayGoAttestationProof.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePayGoAttestationProof.utils.d.ts","sourceRoot":"","sources":["../../../../src/testutil/generatePayGoAttestationProof.utils.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,MAAM,CAsBrG"}
@@ -0,0 +1,38 @@
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.generatePayGoAttestationProof = generatePayGoAttestationProof;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
9
+ const paygo_1 = require("../paygo");
10
+ /** We have a mirrored function similar to our hsm that generates our Bitcoin signed
11
+ * message so that we can use for testing. This creates a random entropy as well using
12
+ * the nilUUID structure to construct our uuid buffer and given our address we can
13
+ * directly encode it into our message.
14
+ *
15
+ * @param attestationPrvKey
16
+ * @param uuid
17
+ * @param address
18
+ * @returns
19
+ */
20
+ function generatePayGoAttestationProof(uuid, address, hasPrefix = true) {
21
+ // <ENTROPY>
22
+ const entropyLength = 64;
23
+ const entropy = crypto_1.default.randomBytes(entropyLength);
24
+ // <UUID>
25
+ const uuidBuffer = Buffer.from(uuid);
26
+ const uuidBufferLength = uuidBuffer.length;
27
+ // <ADDRESS>
28
+ const addressBufferLength = address.length;
29
+ // <VARINT_LENGTH>
30
+ const msgLength = entropyLength + addressBufferLength + uuidBufferLength;
31
+ const msgLengthBuffer = utxo_lib_1.bufferutils.varuint.encode(msgLength);
32
+ // <LENGTH><ENTROPY><ADDRESS><UUID>
33
+ const proofMessage = Buffer.concat([msgLengthBuffer, entropy, address, uuidBuffer]);
34
+ // If hasPrefix, we return 0x18Bitcoin Signed Message:\n<proof> otherwise its just <proof>
35
+ // where <proof> = <VARINT_LEN><ENTROPY><ADDRESS><UUID>
36
+ return hasPrefix ? Buffer.concat([paygo_1.Prefix, proofMessage]) : proofMessage;
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQYXlHb0F0dGVzdGF0aW9uUHJvb2YudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdHV0aWwvZ2VuZXJhdGVQYXlHb0F0dGVzdGF0aW9uUHJvb2YudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFnQkEsc0VBc0JDO0FBdENELG9EQUE0QjtBQUU1QixtREFBbUQ7QUFFbkQsb0NBQWtDO0FBRWxDOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLDZCQUE2QixDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsU0FBUyxHQUFHLElBQUk7SUFDM0YsWUFBWTtJQUNaLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLE9BQU8sR0FBRyxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRCxTQUFTO0lBQ1QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFFM0MsWUFBWTtJQUNaLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUUzQyxrQkFBa0I7SUFDbEIsTUFBTSxTQUFTLEdBQUcsYUFBYSxHQUFHLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO0lBQ3pFLE1BQU0sZUFBZSxHQUFHLHNCQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU5RCxtQ0FBbUM7SUFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFcEYsMEZBQTBGO0lBQzFGLHVEQUF1RDtJQUN2RCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHsgYnVmZmVydXRpbHMgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IFByZWZpeCB9IGZyb20gJy4uL3BheWdvJztcblxuLyoqIFdlIGhhdmUgYSBtaXJyb3JlZCBmdW5jdGlvbiBzaW1pbGFyIHRvIG91ciBoc20gdGhhdCBnZW5lcmF0ZXMgb3VyIEJpdGNvaW4gc2lnbmVkXG4gKiBtZXNzYWdlIHNvIHRoYXQgd2UgY2FuIHVzZSBmb3IgdGVzdGluZy4gVGhpcyBjcmVhdGVzIGEgcmFuZG9tIGVudHJvcHkgYXMgd2VsbCB1c2luZ1xuICogdGhlIG5pbFVVSUQgc3RydWN0dXJlIHRvIGNvbnN0cnVjdCBvdXIgdXVpZCBidWZmZXIgYW5kIGdpdmVuIG91ciBhZGRyZXNzIHdlIGNhblxuICogZGlyZWN0bHkgZW5jb2RlIGl0IGludG8gb3VyIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIGF0dGVzdGF0aW9uUHJ2S2V5XG4gKiBAcGFyYW0gdXVpZFxuICogQHBhcmFtIGFkZHJlc3NcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVBheUdvQXR0ZXN0YXRpb25Qcm9vZih1dWlkOiBzdHJpbmcsIGFkZHJlc3M6IEJ1ZmZlciwgaGFzUHJlZml4ID0gdHJ1ZSk6IEJ1ZmZlciB7XG4gIC8vIDxFTlRST1BZPlxuICBjb25zdCBlbnRyb3B5TGVuZ3RoID0gNjQ7XG4gIGNvbnN0IGVudHJvcHkgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoZW50cm9weUxlbmd0aCk7XG5cbiAgLy8gPFVVSUQ+XG4gIGNvbnN0IHV1aWRCdWZmZXIgPSBCdWZmZXIuZnJvbSh1dWlkKTtcbiAgY29uc3QgdXVpZEJ1ZmZlckxlbmd0aCA9IHV1aWRCdWZmZXIubGVuZ3RoO1xuXG4gIC8vIDxBRERSRVNTPlxuICBjb25zdCBhZGRyZXNzQnVmZmVyTGVuZ3RoID0gYWRkcmVzcy5sZW5ndGg7XG5cbiAgLy8gPFZBUklOVF9MRU5HVEg+XG4gIGNvbnN0IG1zZ0xlbmd0aCA9IGVudHJvcHlMZW5ndGggKyBhZGRyZXNzQnVmZmVyTGVuZ3RoICsgdXVpZEJ1ZmZlckxlbmd0aDtcbiAgY29uc3QgbXNnTGVuZ3RoQnVmZmVyID0gYnVmZmVydXRpbHMudmFydWludC5lbmNvZGUobXNnTGVuZ3RoKTtcblxuICAvLyA8TEVOR1RIPjxFTlRST1BZPjxBRERSRVNTPjxVVUlEPlxuICBjb25zdCBwcm9vZk1lc3NhZ2UgPSBCdWZmZXIuY29uY2F0KFttc2dMZW5ndGhCdWZmZXIsIGVudHJvcHksIGFkZHJlc3MsIHV1aWRCdWZmZXJdKTtcblxuICAvLyBJZiBoYXNQcmVmaXgsIHdlIHJldHVybiAweDE4Qml0Y29pbiBTaWduZWQgTWVzc2FnZTpcXG48cHJvb2Y+IG90aGVyd2lzZSBpdHMganVzdCA8cHJvb2Y+XG4gIC8vIHdoZXJlIDxwcm9vZj4gPSA8VkFSSU5UX0xFTj48RU5UUk9QWT48QUREUkVTUz48VVVJRD5cbiAgcmV0dXJuIGhhc1ByZWZpeCA/IEJ1ZmZlci5jb25jYXQoW1ByZWZpeCwgcHJvb2ZNZXNzYWdlXSkgOiBwcm9vZk1lc3NhZ2U7XG59XG4iXX0=
@@ -2,4 +2,5 @@ export * from './fixtures.utils';
2
2
  export * from './key.utils';
3
3
  export * from './toPlainObject.utils';
4
4
  export * from './generatePayGoAttestationProof.utils';
5
+ export * from './trimMessagePrefix';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testutil/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qBAAqB,CAAC"}
@@ -18,4 +18,5 @@ __exportStar(require("./fixtures.utils"), exports);
18
18
  __exportStar(require("./key.utils"), exports);
19
19
  __exportStar(require("./toPlainObject.utils"), exports);
20
20
  __exportStar(require("./generatePayGoAttestationProof.utils"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFpQztBQUNqQyw4Q0FBNEI7QUFDNUIsd0RBQXNDO0FBQ3RDLHdFQUFzRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZml4dHVyZXMudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9rZXkudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b1BsYWluT2JqZWN0LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJhdGVQYXlHb0F0dGVzdGF0aW9uUHJvb2YudXRpbHMnO1xuIl19
21
+ __exportStar(require("./trimMessagePrefix"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdHV0aWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFpQztBQUNqQyw4Q0FBNEI7QUFDNUIsd0RBQXNDO0FBQ3RDLHdFQUFzRDtBQUN0RCxzREFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpeHR1cmVzLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4va2V5LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9QbGFpbk9iamVjdC51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2dlbmVyYXRlUGF5R29BdHRlc3RhdGlvblByb29mLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdHJpbU1lc3NhZ2VQcmVmaXgnO1xuIl19
@@ -1,5 +1,5 @@
1
+ import { BIP32Interface } from '@bitgo-beta/secp256k1';
1
2
  import * as utxolib from '@bitgo-beta/utxo-lib';
2
- import { BIP32Interface } from '@bitgo-beta/utxo-lib';
3
3
  export type Triple<T> = [T, T, T];
4
4
  export type KeyTriple = Triple<BIP32Interface>;
5
5
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key.utils.d.ts","sourceRoot":"","sources":["../../../../src/testutil/key.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAGpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAK,GAAG,SAAS,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,SAAK,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAEhH"}
@@ -0,0 +1,60 @@
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 secp256k1_1 = require("@bitgo-beta/secp256k1");
41
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
42
+ /**
43
+ * Create new bip32 key. Uses random seed if none is passed.
44
+ * @param seed
45
+ */
46
+ function getKey(seed) {
47
+ const finalSeed = seed === undefined ? crypto.randomBytes(32) : crypto.createHash('sha256').update(seed).digest();
48
+ return secp256k1_1.bip32.fromSeed(finalSeed);
49
+ }
50
+ /**
51
+ * Return deterministic key triple of bip32 keys
52
+ * @param prefix
53
+ */
54
+ function getKeyTriple(prefix = '') {
55
+ return Array.from({ length: 3 }).map((_, i) => getKey(`${prefix}${i}`));
56
+ }
57
+ function getRootWalletKeys(prefix = '', derivationPrefixes) {
58
+ return new utxolib.bitgo.RootWalletKeys(getKeyTriple(prefix), derivationPrefixes);
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rlc3R1dGlsL2tleS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLHdCQUdDO0FBTUQsb0NBRUM7QUFFRCw4Q0FFQztBQTVCRCwrQ0FBaUM7QUFFakMscURBQThEO0FBQzlELDhEQUFnRDtBQU1oRDs7O0dBR0c7QUFDSCxTQUFnQixNQUFNLENBQUMsSUFBYTtJQUNsQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsSCxPQUFPLGlCQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUU7SUFDdEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQWMsQ0FBQztBQUN2RixDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxrQkFBbUM7SUFDaEYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3BGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2VjcDI1NmsxJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgdHlwZSBUcmlwbGU8VD4gPSBbVCwgVCwgVF07XG5cbmV4cG9ydCB0eXBlIEtleVRyaXBsZSA9IFRyaXBsZTxCSVAzMkludGVyZmFjZT47XG5cbi8qKlxuICogQ3JlYXRlIG5ldyBiaXAzMiBrZXkuIFVzZXMgcmFuZG9tIHNlZWQgaWYgbm9uZSBpcyBwYXNzZWQuXG4gKiBAcGFyYW0gc2VlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5KHNlZWQ/OiBzdHJpbmcpOiBCSVAzMkludGVyZmFjZSB7XG4gIGNvbnN0IGZpbmFsU2VlZCA9IHNlZWQgPT09IHVuZGVmaW5lZCA/IGNyeXB0by5yYW5kb21CeXRlcygzMikgOiBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHNlZWQpLmRpZ2VzdCgpO1xuICByZXR1cm4gYmlwMzIuZnJvbVNlZWQoZmluYWxTZWVkKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gZGV0ZXJtaW5pc3RpYyBrZXkgdHJpcGxlIG9mIGJpcDMyIGtleXNcbiAqIEBwYXJhbSBwcmVmaXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEtleVRyaXBsZShwcmVmaXggPSAnJyk6IEtleVRyaXBsZSB7XG4gIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAzIH0pLm1hcCgoXywgaSkgPT4gZ2V0S2V5KGAke3ByZWZpeH0ke2l9YCkpIGFzIEtleVRyaXBsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RXYWxsZXRLZXlzKHByZWZpeCA9ICcnLCBkZXJpdmF0aW9uUHJlZml4ZXM/OiBUcmlwbGU8c3RyaW5nPik6IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMge1xuICByZXR1cm4gbmV3IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMoZ2V0S2V5VHJpcGxlKHByZWZpeCksIGRlcml2YXRpb25QcmVmaXhlcyk7XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPlainObject.utils.d.ts","sourceRoot":"","sources":["../../../../src/testutil/toPlainObject.utils.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAErE;AAyDD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAE,iBAAsB,EAAE,IAAI,GAAE,WAAW,EAAO,GAAG,OAAO,CAyCzG"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.matchPath = matchPath;
4
+ exports.toPlainObject = toPlainObject;
5
+ function matchPath(a, b) {
6
+ return a.length === b.length && a.every((e, i) => e === b[i]);
7
+ }
8
+ function includePath(opts, path) {
9
+ if (!opts.ignorePaths) {
10
+ return true;
11
+ }
12
+ if (typeof opts.ignorePaths === 'function') {
13
+ return !opts.ignorePaths(path);
14
+ }
15
+ return !opts.ignorePaths.some((ignorePath) => matchPath(path, ignorePath.split('.')));
16
+ }
17
+ function toPlainEntries(key, value, opts, path) {
18
+ if (!includePath(opts, [...path, key])) {
19
+ return [];
20
+ }
21
+ if (value === undefined && (opts.skipUndefinedValues ?? true)) {
22
+ return [];
23
+ }
24
+ return [[key, toPlainObject(value, opts, [...path, key])]];
25
+ }
26
+ function getAllDescriptors(v) {
27
+ if (v === null || typeof v !== 'object') {
28
+ return {};
29
+ }
30
+ const descriptors = Object.getOwnPropertyDescriptors(v);
31
+ const proto = Object.getPrototypeOf(v);
32
+ if (proto) {
33
+ Object.assign(descriptors, getAllDescriptors(proto));
34
+ }
35
+ return descriptors;
36
+ }
37
+ function toPlainObjectFromPropertyDescriptors(v, opts, path) {
38
+ const descriptors = getAllDescriptors(v);
39
+ return Object.fromEntries(Object.entries(descriptors).flatMap(([key, descriptor]) => {
40
+ if (typeof descriptor.value === 'function') {
41
+ return [];
42
+ }
43
+ if (descriptor.value !== undefined) {
44
+ return toPlainEntries(key, descriptor.value, opts, path);
45
+ }
46
+ if (typeof descriptor.get === 'function') {
47
+ return toPlainEntries(key, descriptor.get.call(v), opts, path);
48
+ }
49
+ return [];
50
+ }));
51
+ }
52
+ function toPlainObject(v, opts = {}, path = []) {
53
+ if (opts.apply) {
54
+ const result = opts.apply(v, path);
55
+ if (result !== undefined) {
56
+ return result;
57
+ }
58
+ }
59
+ switch (typeof v) {
60
+ case 'string':
61
+ case 'number':
62
+ case 'boolean':
63
+ case 'undefined':
64
+ return v;
65
+ case 'bigint':
66
+ return v.toString();
67
+ case 'function':
68
+ case 'symbol':
69
+ return undefined;
70
+ }
71
+ if (v === null) {
72
+ return v;
73
+ }
74
+ if (Buffer.isBuffer(v)) {
75
+ return v.toString('hex');
76
+ }
77
+ if (Array.isArray(v)) {
78
+ return v.map((e, i) => toPlainObject(e, opts, [...path, i]));
79
+ }
80
+ if (typeof v === 'object') {
81
+ const result = Object.fromEntries(Object.entries(v).flatMap(([key, value]) => toPlainEntries(key, value, opts, path)));
82
+ if (opts.propertyDescriptors) {
83
+ Object.assign(result, toPlainObjectFromPropertyDescriptors(v, opts, path));
84
+ }
85
+ return result;
86
+ }
87
+ throw new Error(`unknown v ${typeof v}`);
88
+ }
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9QbGFpbk9iamVjdC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC90b1BsYWluT2JqZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsOEJBRUM7QUF5REQsc0NBeUNDO0FBcEdELFNBQWdCLFNBQVMsQ0FBQyxDQUFnQixFQUFFLENBQWdCO0lBQzFELE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLElBQXVCLEVBQUUsSUFBbUI7SUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FDckIsR0FBVyxFQUNYLEtBQWEsRUFDYixJQUF1QixFQUN2QixJQUFtQjtJQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQztJQUNa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QUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUNwRixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFRvUGxhaW5PYmplY3RPcHRzID0ge1xuICBwcm9wZXJ0eURlc2NyaXB0b3JzPzogYm9vbGVhbjtcbiAgc2tpcFVuZGVmaW5lZFZhbHVlcz86IGJvb2xlYW47XG4gIGlnbm9yZVBhdGhzPzogc3RyaW5nW10gfCAoKHBhdGg6IFBhdGhFbGVtZW50W10pID0+IGJvb2xlYW4pO1xuICBhcHBseT86ICh2OiB1bmtub3duLCBwYXRoOiBQYXRoRWxlbWVudFtdKSA9PiB1bmtub3duO1xufTtcbmV4cG9ydCB0eXBlIFBhdGhFbGVtZW50ID0gc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hQYXRoKGE6IFBhdGhFbGVtZW50W10sIGI6IFBhdGhFbGVtZW50W10pOiBib29sZWFuIHtcbiAgcmV0dXJuIGEubGVuZ3RoID09PSBiLmxlbmd0aCAmJiBhLmV2ZXJ5KChlLCBpKSA9PiBlID09PSBiW2ldKTtcbn1cblxuZnVuY3Rpb24gaW5jbHVkZVBhdGgob3B0czogVG9QbGFpbk9iamVjdE9wdHMsIHBhdGg6IFBhdGhFbGVtZW50W10pOiBib29sZWFuIHtcbiAgaWYgKCFvcHRzLmlnbm9yZVBhdGhzKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKHR5cGVvZiBvcHRzLmlnbm9yZVBhdGhzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuICFvcHRzLmlnbm9yZVBhdGhzKHBhdGgpO1xuICB9XG4gIHJldHVybiAhb3B0cy5pZ25vcmVQYXRocy5zb21lKChpZ25vcmVQYXRoKSA9PiBtYXRjaFBhdGgocGF0aCwgaWdub3JlUGF0aC5zcGxpdCgnLicpKSk7XG59XG5cbmZ1bmN0aW9uIHRvUGxhaW5FbnRyaWVzKFxuICBrZXk6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyxcbiAgb3B0czogVG9QbGFpbk9iamVjdE9wdHMsXG4gIHBhdGg6IFBhdGhFbGVtZW50W11cbik6IFtdIHwgW1tzdHJpbmcsIHVua25vd25dXSB7XG4gIGlmICghaW5jbHVkZVBhdGgob3B0cywgWy4uLnBhdGgsIGtleV0pKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmIChvcHRzLnNraXBVbmRlZmluZWRWYWx1ZXMgPz8gdHJ1ZSkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIFtba2V5LCB0b1BsYWluT2JqZWN0KHZhbHVlLCBvcHRzLCBbLi4ucGF0aCwga2V5XSldXTtcbn1cblxuZnVuY3Rpb24gZ2V0QWxsRGVzY3JpcHRvcnModjogdW5rbm93bik6IFByb3BlcnR5RGVzY3JpcHRvck1hcCB7XG4gIGlmICh2ID09PSBudWxsIHx8IHR5cGVvZiB2ICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiB7fTtcbiAgfVxuICBjb25zdCBkZXNjcmlwdG9yczogUHJvcGVydHlEZXNjcmlwdG9yTWFwID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModik7XG4gIGNvbnN0IHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHYpO1xuICBpZiAocHJvdG8pIHtcbiAgICBPYmplY3QuYXNzaWduKGRlc2NyaXB0b3JzLCBnZXRBbGxEZXNjcmlwdG9ycyhwcm90bykpO1xuICB9XG4gIHJldHVybiBkZXNjcmlwdG9ycztcbn1cblxuZnVuY3Rpb24gdG9QbGFpbk9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3JzKHY6IHVua25vd24sIG9wdHM6IFRvUGxhaW5PYmplY3RPcHRzLCBwYXRoOiBQYXRoRWxlbWVudFtdKSB7XG4gIGNvbnN0IGRlc2NyaXB0b3JzID0gZ2V0QWxsRGVzY3JpcHRvcnModik7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoZGVzY3JpcHRvcnMpLmZsYXRNYXAoKFtrZXksIGRlc2NyaXB0b3JdKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGRlc2NyaXB0b3IudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdG9QbGFpbkVudHJpZXMoa2V5LCBkZXNjcmlwdG9yLnZhbHVlLCBvcHRzLCBwYXRoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci5nZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIHRvUGxhaW5FbnRyaWVzKGtleSwgZGVzY3JpcHRvci5nZXQuY2FsbCh2KSwgb3B0cywgcGF0aCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5PYmplY3QodjogdW5rbm93biwgb3B0czogVG9QbGFpbk9iamVjdE9wdHMgPSB7fSwgcGF0aDogUGF0aEVsZW1lbnRbXSA9IFtdKTogdW5rbm93biB7XG4gIGlmIChvcHRzLmFwcGx5KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gb3B0cy5hcHBseSh2LCBwYXRoKTtcbiAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoICh0eXBlb2Ygdikge1xuICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdib29sZWFuJzpcbiAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgcmV0dXJuIHY7XG4gICAgY2FzZSAnYmlnaW50JzpcbiAgICAgIHJldHVybiB2LnRvU3RyaW5nKCk7XG4gICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKHYgPT09IG51bGwpIHtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIGlmIChCdWZmZXIuaXNCdWZmZXIodikpIHtcbiAgICByZXR1cm4gdi50b1N0cmluZygnaGV4Jyk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodikpIHtcbiAgICByZXR1cm4gdi5tYXAoKGUsIGkpID0+IHRvUGxhaW5PYmplY3QoZSwgb3B0cywgWy4uLnBhdGgsIGldKSk7XG4gIH1cbiAgaWYgKHR5cGVvZiB2ID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHYpLmZsYXRNYXAoKFtrZXksIHZhbHVlXSkgPT4gdG9QbGFpbkVudHJpZXMoa2V5LCB2YWx1ZSwgb3B0cywgcGF0aCkpXG4gICAgKTtcbiAgICBpZiAob3B0cy5wcm9wZXJ0eURlc2NyaXB0b3JzKSB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgdG9QbGFpbk9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3JzKHYsIG9wdHMsIHBhdGgpKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gdiAke3R5cGVvZiB2fWApO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ /** We receive a proof in the form:
2
+ * 0x18Bitcoin Signed Message:\n<varint_length><ENTROPY><ADDRESS><UUID>
3
+ * and when verifying our message we want to exclude the 0x18Bitcoin Signed Message:\n<varint_length>
4
+ * of the proof so that we are left with the entropy address and uuid as our message.
5
+ * This is what we are going to be verifying.
6
+ *
7
+ * @param proof
8
+ * @returns
9
+ */
10
+ export declare function trimMessagePrefix(proof: Buffer): Buffer;
11
+ //# sourceMappingURL=trimMessagePrefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trimMessagePrefix.d.ts","sourceRoot":"","sources":["../../../../src/testutil/trimMessagePrefix.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAavD"}
@@ -0,0 +1,60 @@
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.trimMessagePrefix = trimMessagePrefix;
37
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
38
+ /** We receive a proof in the form:
39
+ * 0x18Bitcoin Signed Message:\n<varint_length><ENTROPY><ADDRESS><UUID>
40
+ * and when verifying our message we want to exclude the 0x18Bitcoin Signed Message:\n<varint_length>
41
+ * of the proof so that we are left with the entropy address and uuid as our message.
42
+ * This is what we are going to be verifying.
43
+ *
44
+ * @param proof
45
+ * @returns
46
+ */
47
+ function trimMessagePrefix(proof) {
48
+ const prefix = '\u0018Bitcoin Signed Message:\n';
49
+ if (proof.toString().startsWith(prefix)) {
50
+ proof = proof.slice(Buffer.from(prefix).length);
51
+ utxolib.bufferutils.varuint.decode(proof, 0);
52
+ // Determines how many bytes were consumed during our last varuint.decode(Buffer, offset)
53
+ // So if varuint.decode(0xfd) then varuint.decode.bytes = 3
54
+ // varuint.decode(0xfe) then varuint.decode.bytes = 5, etc.
55
+ const varintBytesLength = utxolib.bufferutils.varuint.decode.bytes;
56
+ proof.slice(varintBytesLength);
57
+ }
58
+ return proof;
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbU1lc3NhZ2VQcmVmaXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdHV0aWwvdHJpbU1lc3NhZ2VQcmVmaXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSw4Q0FhQztBQXhCRCw4REFBZ0Q7QUFFaEQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxLQUFhO0lBQzdDLE1BQU0sTUFBTSxHQUFHLGlDQUFpQyxDQUFDO0lBQ2pELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3hDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3Qyx5RkFBeUY7UUFDekYsMkRBQTJEO1FBQzNELDJEQUEyRDtRQUMzRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFbkUsS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuLyoqIFdlIHJlY2VpdmUgYSBwcm9vZiBpbiB0aGUgZm9ybTpcbiAqIDB4MThCaXRjb2luIFNpZ25lZCBNZXNzYWdlOlxcbjx2YXJpbnRfbGVuZ3RoPjxFTlRST1BZPjxBRERSRVNTPjxVVUlEPlxuICogYW5kIHdoZW4gdmVyaWZ5aW5nIG91ciBtZXNzYWdlIHdlIHdhbnQgdG8gZXhjbHVkZSB0aGUgMHgxOEJpdGNvaW4gU2lnbmVkIE1lc3NhZ2U6XFxuPHZhcmludF9sZW5ndGg+XG4gKiBvZiB0aGUgcHJvb2Ygc28gdGhhdCB3ZSBhcmUgbGVmdCB3aXRoIHRoZSBlbnRyb3B5IGFkZHJlc3MgYW5kIHV1aWQgYXMgb3VyIG1lc3NhZ2UuXG4gKiBUaGlzIGlzIHdoYXQgd2UgYXJlIGdvaW5nIHRvIGJlIHZlcmlmeWluZy5cbiAqXG4gKiBAcGFyYW0gcHJvb2ZcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmltTWVzc2FnZVByZWZpeChwcm9vZjogQnVmZmVyKTogQnVmZmVyIHtcbiAgY29uc3QgcHJlZml4ID0gJ1xcdTAwMThCaXRjb2luIFNpZ25lZCBNZXNzYWdlOlxcbic7XG4gIGlmIChwcm9vZi50b1N0cmluZygpLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgIHByb29mID0gcHJvb2Yuc2xpY2UoQnVmZmVyLmZyb20ocHJlZml4KS5sZW5ndGgpO1xuICAgIHV0eG9saWIuYnVmZmVydXRpbHMudmFydWludC5kZWNvZGUocHJvb2YsIDApO1xuICAgIC8vIERldGVybWluZXMgaG93IG1hbnkgYnl0ZXMgd2VyZSBjb25zdW1lZCBkdXJpbmcgb3VyIGxhc3QgdmFydWludC5kZWNvZGUoQnVmZmVyLCBvZmZzZXQpXG4gICAgLy8gU28gaWYgdmFydWludC5kZWNvZGUoMHhmZCkgdGhlbiB2YXJ1aW50LmRlY29kZS5ieXRlcyA9IDNcbiAgICAvLyB2YXJ1aW50LmRlY29kZSgweGZlKSB0aGVuIHZhcnVpbnQuZGVjb2RlLmJ5dGVzID0gNSwgZXRjLlxuICAgIGNvbnN0IHZhcmludEJ5dGVzTGVuZ3RoID0gdXR4b2xpYi5idWZmZXJ1dGlscy52YXJ1aW50LmRlY29kZS5ieXRlcztcblxuICAgIHByb29mLnNsaWNlKHZhcmludEJ5dGVzTGVuZ3RoKTtcbiAgfVxuICByZXR1cm4gcHJvb2Y7XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xOnlyPubkey.d.ts","sourceRoot":"","sources":["../../../src/xOnlyPubkey.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAclD"}