@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.utils.d.ts","sourceRoot":"","sources":["../../../../src/testutil/descriptor/mock.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EACL,UAAU,EAGV,iCAAiC,EAClC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAkC,MAAM,eAAe,CAAC;AAEnF,KAAK,kBAAkB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,KAAK,8BAA8B,GAAG;IACpC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,UAAU,CAAC;CAClC,CAAC;AAWF,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,EACtB,YAAY,GAAE,8BAAmC,GAChD,iCAAiC,CAcnC;AAED,KAAK,SAAS,GAAG,8BAA8B,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,CAAC,EAAE,UAAU,CAAC;CAClC,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAMF,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,UAAU,EAAE,EACrB,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAC/B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAaxB;AAED,wBAAgB,eAAe,CAAC,EAC9B,cAA+D,EAC/D,eAAgE,EAChE,MAAW,GACZ,GAAE;IACD,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACzB,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAY9B;AAED,wBAAgB,qCAAqC,CACnD,CAAC,EAAE,kBAAkB,EACrB,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAC/B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAMxB"}
@@ -0,0 +1,53 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { createPsbt, createScriptPubKeyFromDescriptor, } from '../../descriptor';
3
+ import { getDefaultXPubs, getDescriptor } from './descriptors';
4
+ function mockOutputId(id) {
5
+ const hash = id?.hash ?? Buffer.alloc(32, 1).toString('hex');
6
+ const vout = id?.vout ?? 0;
7
+ return { hash, vout };
8
+ }
9
+ export function mockDerivedDescriptorWalletOutput(descriptor, outputParams = {}) {
10
+ const { value = BigInt(1e6) } = outputParams;
11
+ const { hash, vout } = mockOutputId(outputParams.id);
12
+ return {
13
+ hash,
14
+ index: vout,
15
+ witnessUtxo: {
16
+ script: createScriptPubKeyFromDescriptor(descriptor, undefined),
17
+ value,
18
+ },
19
+ descriptor,
20
+ selectTapLeafScript: outputParams.selectTapLeafScript,
21
+ sequence: outputParams.sequence,
22
+ };
23
+ }
24
+ function tryDeriveAtIndex(descriptor, index) {
25
+ return descriptor.hasWildcard() ? descriptor.atDerivationIndex(index) : descriptor;
26
+ }
27
+ export function mockPsbt(inputs, outputs, params = {}) {
28
+ return createPsbt({ ...params, network: params.network ?? utxolib.networks.bitcoin }, inputs.map((i) => mockDerivedDescriptorWalletOutput(tryDeriveAtIndex(i.descriptor, i.index), i)), outputs.map((o) => {
29
+ const derivedDescriptor = tryDeriveAtIndex(o.descriptor, o.index);
30
+ return {
31
+ script: createScriptPubKeyFromDescriptor(derivedDescriptor, undefined),
32
+ value: o.value,
33
+ descriptor: o.external ? undefined : derivedDescriptor,
34
+ };
35
+ }));
36
+ }
37
+ export function mockPsbtDefault({ descriptorSelf = getDescriptor('Wsh2Of3', getDefaultXPubs('a')), descriptorOther = getDescriptor('Wsh2Of3', getDefaultXPubs('b')), params = {}, } = {}) {
38
+ return mockPsbt([
39
+ { descriptor: descriptorSelf, index: 0 },
40
+ { descriptor: descriptorSelf, index: 1, id: { vout: 1 } },
41
+ ], [
42
+ { descriptor: descriptorOther, index: 0, value: BigInt(4e5), external: true },
43
+ { descriptor: descriptorSelf, index: 0, value: BigInt(4e5) },
44
+ ], params);
45
+ }
46
+ export function mockPsbtDefaultWithDescriptorTemplate(t, params = {}) {
47
+ return mockPsbtDefault({
48
+ descriptorSelf: getDescriptor(t, getDefaultXPubs('a')),
49
+ descriptorOther: getDescriptor(t, getDefaultXPubs('b')),
50
+ params,
51
+ });
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL21vY2sudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxPQUFPLEVBRUwsVUFBVSxFQUNWLGdDQUFnQyxHQUVqQyxNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBc0IsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVluRixTQUFTLFlBQVksQ0FBQyxFQUF1QjtJQUkzQyxNQUFNLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxNQUFNLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUMzQixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLFVBQXNCLEVBQ3RCLGVBQStDLEVBQUU7SUFFakQsTUFBTSxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUM7SUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELE9BQU87UUFDTCxJQUFJO1FBQ0osS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUU7WUFDWCxNQUFNLEVBQUUsZ0NBQWdDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQztZQUMvRCxLQUFLO1NBQ047UUFDRCxVQUFVO1FBQ1YsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLG1CQUFtQjtRQUNyRCxRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVE7S0FDaEMsQ0FBQztBQUNKLENBQUM7QUFlRCxTQUFTLGdCQUFnQixDQUFDLFVBQXNCLEVBQUUsS0FBYTtJQUM3RCxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDckYsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQ3RCLE1BQW1CLEVBQ25CLE9BQXFCLEVBQ3JCLFNBQThCLEVBQUU7SUFFaEMsT0FBTyxVQUFVLENBQ2YsRUFBRSxHQUFHLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUNsRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNoRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDaEIsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxPQUFPO1lBQ0wsTUFBTSxFQUFFLGdDQUFnQyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQztZQUN0RSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7WUFDZCxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7U0FDdkQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxFQUM5QixjQUFjLEdBQUcsYUFBYSxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDL0QsZUFBZSxHQUFHLGFBQWEsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ2hFLE1BQU0sR0FBRyxFQUFFLE1BS1QsRUFBRTtJQUNKLE9BQU8sUUFBUSxDQUNiO1FBQ0UsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7UUFDeEMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO0tBQzFELEVBQ0Q7UUFDRSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFDN0UsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtLQUM3RCxFQUNELE1BQU0sQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxxQ0FBcUMsQ0FDbkQsQ0FBcUIsRUFDckIsU0FBOEIsRUFBRTtJQUVoQyxPQUFPLGVBQWUsQ0FBQztRQUNyQixjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE1BQU07S0FDUCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpcHRvciwgTWluaXNjcmlwdCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7XG4gIFBzYnRQYXJhbXMsXG4gIGNyZWF0ZVBzYnQsXG4gIGNyZWF0ZVNjcmlwdFB1YktleUZyb21EZXNjcmlwdG9yLFxuICBEZXJpdmVkRGVzY3JpcHRvclRyYW5zYWN0aW9uSW5wdXQsXG59IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3InO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yVGVtcGxhdGUsIGdldERlZmF1bHRYUHVicywgZ2V0RGVzY3JpcHRvciB9IGZyb20gJy4vZGVzY3JpcHRvcnMnO1xuXG50eXBlIE1vY2tPdXRwdXRJZFBhcmFtcyA9IHsgaGFzaD86IHN0cmluZzsgdm91dD86IG51bWJlciB9O1xuXG50eXBlIEJhc2VNb2NrRGVzY3JpcHRvck91dHB1dFBhcmFtcyA9IHtcbiAgaWQ/OiBNb2NrT3V0cHV0SWRQYXJhbXM7XG4gIGluZGV4PzogbnVtYmVyO1xuICB2YWx1ZT86IGJpZ2ludDtcbiAgc2VxdWVuY2U/OiBudW1iZXI7XG4gIHNlbGVjdFRhcExlYWZTY3JpcHQ/OiBNaW5pc2NyaXB0O1xufTtcblxuZnVuY3Rpb24gbW9ja091dHB1dElkKGlkPzogTW9ja091dHB1dElkUGFyYW1zKToge1xuICBoYXNoOiBzdHJpbmc7XG4gIHZvdXQ6IG51bWJlcjtcbn0ge1xuICBjb25zdCBoYXNoID0gaWQ/Lmhhc2ggPz8gQnVmZmVyLmFsbG9jKDMyLCAxKS50b1N0cmluZygnaGV4Jyk7XG4gIGNvbnN0IHZvdXQgPSBpZD8udm91dCA/PyAwO1xuICByZXR1cm4geyBoYXNoLCB2b3V0IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrRGVyaXZlZERlc2NyaXB0b3JXYWxsZXRPdXRwdXQoXG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gIG91dHB1dFBhcmFtczogQmFzZU1vY2tEZXNjcmlwdG9yT3V0cHV0UGFyYW1zID0ge31cbik6IERlcml2ZWREZXNjcmlwdG9yVHJhbnNhY3Rpb25JbnB1dCB7XG4gIGNvbnN0IHsgdmFsdWUgPSBCaWdJbnQoMWU2KSB9ID0gb3V0cHV0UGFyYW1zO1xuICBjb25zdCB7IGhhc2gsIHZvdXQgfSA9IG1vY2tPdXRwdXRJZChvdXRwdXRQYXJhbXMuaWQpO1xuICByZXR1cm4ge1xuICAgIGhhc2gsXG4gICAgaW5kZXg6IHZvdXQsXG4gICAgd2l0bmVzc1V0eG86IHtcbiAgICAgIHNjcmlwdDogY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVzY3JpcHRvciwgdW5kZWZpbmVkKSxcbiAgICAgIHZhbHVlLFxuICAgIH0sXG4gICAgZGVzY3JpcHRvcixcbiAgICBzZWxlY3RUYXBMZWFmU2NyaXB0OiBvdXRwdXRQYXJhbXMuc2VsZWN0VGFwTGVhZlNjcmlwdCxcbiAgICBzZXF1ZW5jZTogb3V0cHV0UGFyYW1zLnNlcXVlbmNlLFxuICB9O1xufVxuXG50eXBlIE1vY2tJbnB1dCA9IEJhc2VNb2NrRGVzY3JpcHRvck91dHB1dFBhcmFtcyAmIHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjtcbiAgc2VsZWN0VGFwTGVhZlNjcmlwdD86IE1pbmlzY3JpcHQ7XG59O1xuXG50eXBlIE1vY2tPdXRwdXQgPSB7XG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3I7XG4gIGluZGV4OiBudW1iZXI7XG4gIHZhbHVlOiBiaWdpbnQ7XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbn07XG5cbmZ1bmN0aW9uIHRyeURlcml2ZUF0SW5kZXgoZGVzY3JpcHRvcjogRGVzY3JpcHRvciwgaW5kZXg6IG51bWJlcik6IERlc2NyaXB0b3Ige1xuICByZXR1cm4gZGVzY3JpcHRvci5oYXNXaWxkY2FyZCgpID8gZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChpbmRleCkgOiBkZXNjcmlwdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1BzYnQoXG4gIGlucHV0czogTW9ja0lucHV0W10sXG4gIG91dHB1dHM6IE1vY2tPdXRwdXRbXSxcbiAgcGFyYW1zOiBQYXJ0aWFsPFBzYnRQYXJhbXM+ID0ge31cbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICByZXR1cm4gY3JlYXRlUHNidChcbiAgICB7IC4uLnBhcmFtcywgbmV0d29yazogcGFyYW1zLm5ldHdvcmsgPz8gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luIH0sXG4gICAgaW5wdXRzLm1hcCgoaSkgPT4gbW9ja0Rlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0KHRyeURlcml2ZUF0SW5kZXgoaS5kZXNjcmlwdG9yLCBpLmluZGV4KSwgaSkpLFxuICAgIG91dHB1dHMubWFwKChvKSA9PiB7XG4gICAgICBjb25zdCBkZXJpdmVkRGVzY3JpcHRvciA9IHRyeURlcml2ZUF0SW5kZXgoby5kZXNjcmlwdG9yLCBvLmluZGV4KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNjcmlwdDogY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVyaXZlZERlc2NyaXB0b3IsIHVuZGVmaW5lZCksXG4gICAgICAgIHZhbHVlOiBvLnZhbHVlLFxuICAgICAgICBkZXNjcmlwdG9yOiBvLmV4dGVybmFsID8gdW5kZWZpbmVkIDogZGVyaXZlZERlc2NyaXB0b3IsXG4gICAgICB9O1xuICAgIH0pXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrUHNidERlZmF1bHQoe1xuICBkZXNjcmlwdG9yU2VsZiA9IGdldERlc2NyaXB0b3IoJ1dzaDJPZjMnLCBnZXREZWZhdWx0WFB1YnMoJ2EnKSksXG4gIGRlc2NyaXB0b3JPdGhlciA9IGdldERlc2NyaXB0b3IoJ1dzaDJPZjMnLCBnZXREZWZhdWx0WFB1YnMoJ2InKSksXG4gIHBhcmFtcyA9IHt9LFxufToge1xuICBkZXNjcmlwdG9yU2VsZj86IERlc2NyaXB0b3I7XG4gIGRlc2NyaXB0b3JPdGhlcj86IERlc2NyaXB0b3I7XG4gIHBhcmFtcz86IFBhcnRpYWw8UHNidFBhcmFtcz47XG59ID0ge30pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHtcbiAgcmV0dXJuIG1vY2tQc2J0KFxuICAgIFtcbiAgICAgIHsgZGVzY3JpcHRvcjogZGVzY3JpcHRvclNlbGYsIGluZGV4OiAwIH0sXG4gICAgICB7IGRlc2NyaXB0b3I6IGRlc2NyaXB0b3JTZWxmLCBpbmRleDogMSwgaWQ6IHsgdm91dDogMSB9IH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7IGRlc2NyaXB0b3I6IGRlc2NyaXB0b3JPdGhlciwgaW5kZXg6IDAsIHZhbHVlOiBCaWdJbnQoNGU1KSwgZXh0ZXJuYWw6IHRydWUgfSxcbiAgICAgIHsgZGVzY3JpcHRvcjogZGVzY3JpcHRvclNlbGYsIGluZGV4OiAwLCB2YWx1ZTogQmlnSW50KDRlNSkgfSxcbiAgICBdLFxuICAgIHBhcmFtc1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1BzYnREZWZhdWx0V2l0aERlc2NyaXB0b3JUZW1wbGF0ZShcbiAgdDogRGVzY3JpcHRvclRlbXBsYXRlLFxuICBwYXJhbXM6IFBhcnRpYWw8UHNidFBhcmFtcz4gPSB7fVxuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIHJldHVybiBtb2NrUHNidERlZmF1bHQoe1xuICAgIGRlc2NyaXB0b3JTZWxmOiBnZXREZXNjcmlwdG9yKHQsIGdldERlZmF1bHRYUHVicygnYScpKSxcbiAgICBkZXNjcmlwdG9yT3RoZXI6IGdldERlc2NyaXB0b3IodCwgZ2V0RGVmYXVsdFhQdWJzKCdiJykpLFxuICAgIHBhcmFtcyxcbiAgfSk7XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ export declare function toPlainObjectFromPsbt(v: utxolib.Psbt): unknown;
3
+ export declare function toPlainObjectFromTx(v: utxolib.Transaction): unknown;
4
+ //# sourceMappingURL=psbt.utils.d.ts.map
@@ -1 +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,CAgB9D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAEnE"}
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,17 @@
1
+ import { matchPath, toPlainObject } from '../../../src/testutil';
2
+ export function toPlainObjectFromPsbt(v) {
3
+ return toPlainObject(v, {
4
+ propertyDescriptors: true,
5
+ ignorePaths(path) {
6
+ return (matchPath(path, ['__CACHE']) ||
7
+ matchPath(path, ['opts', 'network']) ||
8
+ matchPath(path, ['data', 'globalMap', 'unsignedTx', 'tx', 'network']) ||
9
+ matchPath(path, ['tx', 'network']) ||
10
+ matchPath(path, ['network']));
11
+ },
12
+ }, []);
13
+ }
14
+ export function toPlainObjectFromTx(v) {
15
+ return toPlainObject(v, {}, []);
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHNidC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL3BzYnQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU5RSxNQUFNLFVBQVUscUJBQXFCLENBQUMsQ0FBZTtJQUNuRCxPQUFPLGFBQWEsQ0FDbEIsQ0FBQyxFQUNEO1FBQ0UsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixXQUFXLENBQUMsSUFBbUI7WUFDN0IsT0FBTyxDQUNMLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDcEMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDbEMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzdCLENBQUM7UUFDSixDQUFDO0tBQ0YsRUFDRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsQ0FBc0I7SUFDeEQsT0FBTyxhQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IG1hdGNoUGF0aCwgUGF0aEVsZW1lbnQsIHRvUGxhaW5PYmplY3QgfSBmcm9tICcuLi8uLi8uLi9zcmMvdGVzdHV0aWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9QbGFpbk9iamVjdEZyb21Qc2J0KHY6IHV0eG9saWIuUHNidCk6IHVua25vd24ge1xuICByZXR1cm4gdG9QbGFpbk9iamVjdChcbiAgICB2LFxuICAgIHtcbiAgICAgIHByb3BlcnR5RGVzY3JpcHRvcnM6IHRydWUsXG4gICAgICBpZ25vcmVQYXRocyhwYXRoOiBQYXRoRWxlbWVudFtdKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsnX19DQUNIRSddKSB8fFxuICAgICAgICAgIG1hdGNoUGF0aChwYXRoLCBbJ29wdHMnLCAnbmV0d29yayddKSB8fFxuICAgICAgICAgIG1hdGNoUGF0aChwYXRoLCBbJ2RhdGEnLCAnZ2xvYmFsTWFwJywgJ3Vuc2lnbmVkVHgnLCAndHgnLCAnbmV0d29yayddKSB8fFxuICAgICAgICAgIG1hdGNoUGF0aChwYXRoLCBbJ3R4JywgJ25ldHdvcmsnXSkgfHxcbiAgICAgICAgICBtYXRjaFBhdGgocGF0aCwgWyduZXR3b3JrJ10pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gICAgW11cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5PYmplY3RGcm9tVHgodjogdXR4b2xpYi5UcmFuc2FjdGlvbik6IHVua25vd24ge1xuICByZXR1cm4gdG9QbGFpbk9iamVjdCh2LCB7fSwgW10pO1xufVxuIl19
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Contains helpers for working with test fixtures
3
+ */
4
+ /**
5
+ * Return fixture described in `path`.
6
+ *
7
+ * If file does not exist and `defaultValue` is provided, writes defaultValue to `path` and throws an error.
8
+ *
9
+ * @param path
10
+ * @param defaultValue
11
+ * @return T - fixture content
12
+ */
13
+ export declare function getFixture<T>(path: string, defaultValue?: T | (() => Promise<T>)): Promise<T>;
14
+ export declare function jsonNormalize<T>(v: T): T;
15
+ //# sourceMappingURL=fixtures.utils.d.ts.map
@@ -1,45 +1,8 @@
1
- "use strict";
2
1
  /**
3
2
  * Contains helpers for working with test fixtures
4
3
  */
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"));
4
+ import * as fs from 'fs';
5
+ import * as mpath from 'path';
43
6
  function isNodeJsError(e) {
44
7
  return e instanceof Error && typeof e.code === 'string';
45
8
  }
@@ -90,7 +53,7 @@ function encodeFixture(value, encoding) {
90
53
  * @param defaultValue
91
54
  * @return T - fixture content
92
55
  */
93
- async function getFixture(path, defaultValue) {
56
+ export async function getFixture(path, defaultValue) {
94
57
  try {
95
58
  await fs.promises.stat(mpath.dirname(path));
96
59
  }
@@ -121,7 +84,7 @@ async function getFixture(path, defaultValue) {
121
84
  throw e;
122
85
  }
123
86
  }
124
- function jsonNormalize(v) {
87
+ export function jsonNormalize(v) {
125
88
  return JSON.parse(JSON.stringify(v));
126
89
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvZml4dHVyZXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZESCxnQ0ErQkM7QUFFRCxzQ0FFQztBQTlGRCx1Q0FBeUI7QUFDekIsNENBQThCO0FBSTlCLFNBQVMsYUFBYSxDQUFDLENBQVU7SUFDL0IsT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJLE9BQVEsQ0FBMkIsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0FBQ3JGLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQUFZO0lBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsUUFBeUI7SUFDM0QsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLE1BQU07WUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxLQUFLLEtBQUs7WUFDUixPQUFPLEdBQUcsQ0FBQztJQUNm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KipcbiAqIENvbnRhaW5zIGhlbHBlcnMgZm9yIHdvcmtpbmcgd2l0aCB0ZXN0IGZpeHR1cmVzXG4gKi9cblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgbXBhdGggZnJvbSAncGF0aCc7XG5cbnR5cGUgRml4dHVyZUVuY29kaW5nID0gJ2pzb24nIHwgJ2hleCcgfCAndHh0JztcblxuZnVuY3Rpb24gaXNOb2RlSnNFcnJvcihlOiB1bmtub3duKTogZSBpcyBOb2RlSlMuRXJybm9FeGNlcHRpb24ge1xuICByZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yICYmIHR5cGVvZiAoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBmaXh0dXJlRW5jb2RpbmcocGF0aDogc3RyaW5nKTogRml4dHVyZUVuY29kaW5nIHtcbiAgaWYgKHBhdGguZW5kc1dpdGgoJy5qc29uJykpIHtcbiAgICByZXR1cm4gJ2pzb24nO1xuICB9XG4gIGlmIChwYXRoLmVuZHNXaXRoKCcuaGV4JykpIHtcbiAgICByZXR1cm4gJ2hleCc7XG4gIH1cbiAgaWYgKHBhdGguZW5kc1dpdGgoJy50eHQnKSkge1xuICAgIHJldHVybiAndHh0JztcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gZml4dHVyZSBlbmNvZGluZyBmb3IgJHtwYXRofWApO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVGaXh0dXJlKHJhdzogc3RyaW5nLCBlbmNvZGluZzogRml4dHVyZUVuY29kaW5nKTogdW5rbm93biB7XG4gIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICBjYXNlICdqc29uJzpcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJhdyk7XG4gICAgY2FzZSAnaGV4JzpcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShyYXcsICdoZXgnKTtcbiAgICBjYXNlICd0eHQnOlxuICAgICAgcmV0dXJuIHJhdztcbiAgfVxufVxuXG5mdW5jdGlvbiBlbmNvZGVGaXh0dXJlKHZhbHVlOiB1bmtub3duLCBlbmNvZGluZzogRml4dHVyZUVuY29kaW5nKTogc3RyaW5nIHtcbiAgc3dpdGNoIChlbmNvZGluZykge1xuICAgIGNhc2UgJ2pzb24nOlxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAyKSArICdcXG4nO1xuICAgIGNhc2UgJ2hleCc6XG4gICAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBleHBlY3RlZCBCdWZmZXIsIGdvdCAke3R5cGVvZiB2YWx1ZX1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygnaGV4Jyk7XG4gICAgY2FzZSAndHh0JzpcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgZXhwZWN0ZWQgc3RyaW5nLCBnb3QgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gZml4dHVyZSBkZXNjcmliZWQgaW4gYHBhdGhgLlxuICpcbiAqIElmIGZpbGUgZG9lcyBub3QgZXhpc3QgYW5kIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCB3cml0ZXMgZGVmYXVsdFZhbHVlIHRvIGBwYXRoYCBhbmQgdGhyb3dzIGFuIGVycm9yLlxuICpcbiAqIEBwYXJhbSBwYXRoXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlXG4gKiBAcmV0dXJuIFQgLSBmaXh0dXJlIGNvbnRlbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEZpeHR1cmU8VD4ocGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUIHwgKCgpID0+IFByb21pc2U8VD4pKTogUHJvbWlzZTxUPiB7XG4gIHRyeSB7XG4gICAgYXdhaXQgZnMucHJvbWlzZXMuc3RhdChtcGF0aC5kaXJuYW1lKHBhdGgpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChpc05vZGVKc0Vycm9yKGUpICYmIGUuY29kZSA9PT0gJ0VOT0VOVCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZml4dHVyZSBkaXJlY3RvcnkgJHttcGF0aC5kaXJuYW1lKHBhdGgpfSBub3QgZm91bmQsIHBsZWFzZSBjcmVhdGUgaXQgZmlyc3RgKTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxuXG4gIGNvbnN0IGVuY29kaW5nID0gZml4dHVyZUVuY29kaW5nKHBhdGgpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZUZpeHR1cmUoYXdhaXQgZnMucHJvbWlzZXMucmVhZEZpbGUocGF0aCwgJ3V0ZjgnKSwgZW5jb2RpbmcpIGFzIFQ7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoaXNOb2RlSnNFcnJvcihlKSAmJiBlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuV1JJVEVfRklYVFVSRVMgPT09ICcwJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpeHR1cmUgJHtwYXRofSBub3QgZm91bmQsIFdSSVRFX0ZJWFRVUkVTPTBgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpeHR1cmUgJHtwYXRofSBub3QgZm91bmQgYW5kIG5vIGRlZmF1bHQgdmFsdWUgZ2l2ZW5gKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZGVmYXVsdFZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGF3YWl0IChkZWZhdWx0VmFsdWUgYXMgKCkgPT4gUHJvbWlzZTxUPikoKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IGZzLnByb21pc2VzLndyaXRlRmlsZShwYXRoLCBlbmNvZGVGaXh0dXJlKGRlZmF1bHRWYWx1ZSwgZW5jb2RpbmcpKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgd3JvdGUgZGVmYXVsdCB2YWx1ZSBmb3IgJHtwYXRofSwgcGxlYXNlIGluc3BlY3QgYW5kIHJlc3RhcnQgdGVzdGApO1xuICAgIH1cblxuICAgIHRocm93IGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGpzb25Ob3JtYWxpemU8VD4odjogVCk6IFQge1xuICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh2KSkgYXMgVDtcbn1cbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvZml4dHVyZXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssS0FBSyxNQUFNLE1BQU0sQ0FBQztBQUk5QixTQUFTLGFBQWEsQ0FBQyxDQUFVO0lBQy9CLE9BQU8sQ0FBQyxZQUFZLEtBQUssSUFBSSxPQUFRLENBQTJCLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztBQUNyRixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsSUFBWTtJQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUMzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLFFBQXlCO0lBQzNELFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLEtBQUssS0FBSztZQUNSLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakMsS0FBSyxLQUFLO1lBQ1IsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FB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KipcbiAqIENvbnRhaW5zIGhlbHBlcnMgZm9yIHdvcmtpbmcgd2l0aCB0ZXN0IGZpeHR1cmVzXG4gKi9cblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgbXBhdGggZnJvbSAncGF0aCc7XG5cbnR5cGUgRml4dHVyZUVuY29kaW5nID0gJ2pzb24nIHwgJ2hleCcgfCAndHh0JztcblxuZnVuY3Rpb24gaXNOb2RlSnNFcnJvcihlOiB1bmtub3duKTogZSBpcyBOb2RlSlMuRXJybm9FeGNlcHRpb24ge1xuICByZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yICYmIHR5cGVvZiAoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBmaXh0dXJlRW5jb2RpbmcocGF0aDogc3RyaW5nKTogRml4dHVyZUVuY29kaW5nIHtcbiAgaWYgKHBhdGguZW5kc1dpdGgoJy5qc29uJykpIHtcbiAgICByZXR1cm4gJ2pzb24nO1xuICB9XG4gIGlmIChwYXRoLmVuZHNXaXRoKCcuaGV4JykpIHtcbiAgICByZXR1cm4gJ2hleCc7XG4gIH1cbiAgaWYgKHBhdGguZW5kc1dpdGgoJy50eHQnKSkge1xuICAgIHJldHVybiAndHh0JztcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gZml4dHVyZSBlbmNvZGluZyBmb3IgJHtwYXRofWApO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVGaXh0dXJlKHJhdzogc3RyaW5nLCBlbmNvZGluZzogRml4dHVyZUVuY29kaW5nKTogdW5rbm93biB7XG4gIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICBjYXNlICdqc29uJzpcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJhdyk7XG4gICAgY2FzZSAnaGV4JzpcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShyYXcsICdoZXgnKTtcbiAgICBjYXNlICd0eHQnOlxuICAgICAgcmV0dXJuIHJhdztcbiAgfVxufVxuXG5mdW5jdGlvbiBlbmNvZGVGaXh0dXJlKHZhbHVlOiB1bmtub3duLCBlbmNvZGluZzogRml4dHVyZUVuY29kaW5nKTogc3RyaW5nIHtcbiAgc3dpdGNoIChlbmNvZGluZykge1xuICAgIGNhc2UgJ2pzb24nOlxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAyKSArICdcXG4nO1xuICAgIGNhc2UgJ2hleCc6XG4gICAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBleHBlY3RlZCBCdWZmZXIsIGdvdCAke3R5cGVvZiB2YWx1ZX1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygnaGV4Jyk7XG4gICAgY2FzZSAndHh0JzpcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgZXhwZWN0ZWQgc3RyaW5nLCBnb3QgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gZml4dHVyZSBkZXNjcmliZWQgaW4gYHBhdGhgLlxuICpcbiAqIElmIGZpbGUgZG9lcyBub3QgZXhpc3QgYW5kIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCB3cml0ZXMgZGVmYXVsdFZhbHVlIHRvIGBwYXRoYCBhbmQgdGhyb3dzIGFuIGVycm9yLlxuICpcbiAqIEBwYXJhbSBwYXRoXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlXG4gKiBAcmV0dXJuIFQgLSBmaXh0dXJlIGNvbnRlbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEZpeHR1cmU8VD4ocGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUIHwgKCgpID0+IFByb21pc2U8VD4pKTogUHJvbWlzZTxUPiB7XG4gIHRyeSB7XG4gICAgYXdhaXQgZnMucHJvbWlzZXMuc3RhdChtcGF0aC5kaXJuYW1lKHBhdGgpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChpc05vZGVKc0Vycm9yKGUpICYmIGUuY29kZSA9PT0gJ0VOT0VOVCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZml4dHVyZSBkaXJlY3RvcnkgJHttcGF0aC5kaXJuYW1lKHBhdGgpfSBub3QgZm91bmQsIHBsZWFzZSBjcmVhdGUgaXQgZmlyc3RgKTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxuXG4gIGNvbnN0IGVuY29kaW5nID0gZml4dHVyZUVuY29kaW5nKHBhdGgpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZUZpeHR1cmUoYXdhaXQgZnMucHJvbWlzZXMucmVhZEZpbGUocGF0aCwgJ3V0ZjgnKSwgZW5jb2RpbmcpIGFzIFQ7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoaXNOb2RlSnNFcnJvcihlKSAmJiBlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuV1JJVEVfRklYVFVSRVMgPT09ICcwJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpeHR1cmUgJHtwYXRofSBub3QgZm91bmQsIFdSSVRFX0ZJWFRVUkVTPTBgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpeHR1cmUgJHtwYXRofSBub3QgZm91bmQgYW5kIG5vIGRlZmF1bHQgdmFsdWUgZ2l2ZW5gKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZGVmYXVsdFZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGF3YWl0IChkZWZhdWx0VmFsdWUgYXMgKCkgPT4gUHJvbWlzZTxUPikoKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IGZzLnByb21pc2VzLndyaXRlRmlsZShwYXRoLCBlbmNvZGVGaXh0dXJlKGRlZmF1bHRWYWx1ZSwgZW5jb2RpbmcpKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgd3JvdGUgZGVmYXVsdCB2YWx1ZSBmb3IgJHtwYXRofSwgcGxlYXNlIGluc3BlY3QgYW5kIHJlc3RhcnQgdGVzdGApO1xuICAgIH1cblxuICAgIHRocm93IGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGpzb25Ob3JtYWxpemU8VD4odjogVCk6IFQge1xuICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh2KSkgYXMgVDtcbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ /** We have a mirrored function similar to our hsm that generates our Bitcoin signed
2
+ * message so that we can use for testing. This creates a random entropy as well using
3
+ * the nilUUID structure to construct our uuid buffer and given our address we can
4
+ * directly encode it into our message.
5
+ *
6
+ * @param attestationPrvKey
7
+ * @param uuid
8
+ * @param address
9
+ * @returns
10
+ */
11
+ export declare function generatePayGoAttestationProof(uuid: string, address: Buffer, hasPrefix?: boolean): Buffer;
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,32 @@
1
+ import crypto from 'crypto';
2
+ import { bufferutils } from '@bitgo-beta/utxo-lib';
3
+ import { Prefix } from '../paygo';
4
+ /** We have a mirrored function similar to our hsm that generates our Bitcoin signed
5
+ * message so that we can use for testing. This creates a random entropy as well using
6
+ * the nilUUID structure to construct our uuid buffer and given our address we can
7
+ * directly encode it into our message.
8
+ *
9
+ * @param attestationPrvKey
10
+ * @param uuid
11
+ * @param address
12
+ * @returns
13
+ */
14
+ export function generatePayGoAttestationProof(uuid, address, hasPrefix = true) {
15
+ // <ENTROPY>
16
+ const entropyLength = 64;
17
+ const entropy = crypto.randomBytes(entropyLength);
18
+ // <UUID>
19
+ const uuidBuffer = Buffer.from(uuid);
20
+ const uuidBufferLength = uuidBuffer.length;
21
+ // <ADDRESS>
22
+ const addressBufferLength = address.length;
23
+ // <VARINT_LENGTH>
24
+ const msgLength = entropyLength + addressBufferLength + uuidBufferLength;
25
+ const msgLengthBuffer = bufferutils.varuint.encode(msgLength);
26
+ // <LENGTH><ENTROPY><ADDRESS><UUID>
27
+ const proofMessage = Buffer.concat([msgLengthBuffer, entropy, address, uuidBuffer]);
28
+ // If hasPrefix, we return 0x18Bitcoin Signed Message:\n<proof> otherwise its just <proof>
29
+ // where <proof> = <VARINT_LEN><ENTROPY><ADDRESS><UUID>
30
+ return hasPrefix ? Buffer.concat([Prefix, proofMessage]) : proofMessage;
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQYXlHb0F0dGVzdGF0aW9uUHJvb2YudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvZ2VuZXJhdGVQYXlHb0F0dGVzdGF0aW9uUHJvb2YudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxJQUFZLEVBQUUsT0FBZSxFQUFFLFNBQVMsR0FBRyxJQUFJO0lBQzNGLFlBQVk7SUFDWixNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDekIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRCxTQUFTO0lBQ1QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFFM0MsWUFBWTtJQUNaLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUUzQyxrQkFBa0I7SUFDbEIsTUFBTSxTQUFTLEdBQUcsYUFBYSxHQUFHLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO0lBQ3pFLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTlELG1DQUFtQztJQUNuQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVwRiwwRkFBMEY7SUFDMUYsdURBQXVEO0lBQ3ZELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5pbXBvcnQgeyBidWZmZXJ1dGlscyB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgUHJlZml4IH0gZnJvbSAnLi4vcGF5Z28nO1xuXG4vKiogV2UgaGF2ZSBhIG1pcnJvcmVkIGZ1bmN0aW9uIHNpbWlsYXIgdG8gb3VyIGhzbSB0aGF0IGdlbmVyYXRlcyBvdXIgQml0Y29pbiBzaWduZWRcbiAqIG1lc3NhZ2Ugc28gdGhhdCB3ZSBjYW4gdXNlIGZvciB0ZXN0aW5nLiBUaGlzIGNyZWF0ZXMgYSByYW5kb20gZW50cm9weSBhcyB3ZWxsIHVzaW5nXG4gKiB0aGUgbmlsVVVJRCBzdHJ1Y3R1cmUgdG8gY29uc3RydWN0IG91ciB1dWlkIGJ1ZmZlciBhbmQgZ2l2ZW4gb3VyIGFkZHJlc3Mgd2UgY2FuXG4gKiBkaXJlY3RseSBlbmNvZGUgaXQgaW50byBvdXIgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gYXR0ZXN0YXRpb25QcnZLZXlcbiAqIEBwYXJhbSB1dWlkXG4gKiBAcGFyYW0gYWRkcmVzc1xuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUGF5R29BdHRlc3RhdGlvblByb29mKHV1aWQ6IHN0cmluZywgYWRkcmVzczogQnVmZmVyLCBoYXNQcmVmaXggPSB0cnVlKTogQnVmZmVyIHtcbiAgLy8gPEVOVFJPUFk+XG4gIGNvbnN0IGVudHJvcHlMZW5ndGggPSA2NDtcbiAgY29uc3QgZW50cm9weSA9IGNyeXB0by5yYW5kb21CeXRlcyhlbnRyb3B5TGVuZ3RoKTtcblxuICAvLyA8VVVJRD5cbiAgY29uc3QgdXVpZEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHV1aWQpO1xuICBjb25zdCB1dWlkQnVmZmVyTGVuZ3RoID0gdXVpZEJ1ZmZlci5sZW5ndGg7XG5cbiAgLy8gPEFERFJFU1M+XG4gIGNvbnN0IGFkZHJlc3NCdWZmZXJMZW5ndGggPSBhZGRyZXNzLmxlbmd0aDtcblxuICAvLyA8VkFSSU5UX0xFTkdUSD5cbiAgY29uc3QgbXNnTGVuZ3RoID0gZW50cm9weUxlbmd0aCArIGFkZHJlc3NCdWZmZXJMZW5ndGggKyB1dWlkQnVmZmVyTGVuZ3RoO1xuICBjb25zdCBtc2dMZW5ndGhCdWZmZXIgPSBidWZmZXJ1dGlscy52YXJ1aW50LmVuY29kZShtc2dMZW5ndGgpO1xuXG4gIC8vIDxMRU5HVEg+PEVOVFJPUFk+PEFERFJFU1M+PFVVSUQ+XG4gIGNvbnN0IHByb29mTWVzc2FnZSA9IEJ1ZmZlci5jb25jYXQoW21zZ0xlbmd0aEJ1ZmZlciwgZW50cm9weSwgYWRkcmVzcywgdXVpZEJ1ZmZlcl0pO1xuXG4gIC8vIElmIGhhc1ByZWZpeCwgd2UgcmV0dXJuIDB4MThCaXRjb2luIFNpZ25lZCBNZXNzYWdlOlxcbjxwcm9vZj4gb3RoZXJ3aXNlIGl0cyBqdXN0IDxwcm9vZj5cbiAgLy8gd2hlcmUgPHByb29mPiA9IDxWQVJJTlRfTEVOPjxFTlRST1BZPjxBRERSRVNTPjxVVUlEPlxuICByZXR1cm4gaGFzUHJlZml4ID8gQnVmZmVyLmNvbmNhdChbUHJlZml4LCBwcm9vZk1lc3NhZ2VdKSA6IHByb29mTWVzc2FnZTtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './fixtures.utils';
2
+ export * from './key.utils';
3
+ export * from './toPlainObject.utils';
4
+ export * from './generatePayGoAttestationProof.utils';
5
+ export * from './trimMessagePrefix';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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"}
@@ -0,0 +1,6 @@
1
+ export * from './fixtures.utils';
2
+ export * from './key.utils';
3
+ export * from './toPlainObject.utils';
4
+ export * from './generatePayGoAttestationProof.utils';
5
+ export * from './trimMessagePrefix';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZml4dHVyZXMudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9rZXkudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b1BsYWluT2JqZWN0LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJhdGVQYXlHb0F0dGVzdGF0aW9uUHJvb2YudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90cmltTWVzc2FnZVByZWZpeCc7XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { BIP32Interface } from '@bitgo-beta/secp256k1';
2
+ import * as utxolib from '@bitgo-beta/utxo-lib';
3
+ export type Triple<T> = [T, T, T];
4
+ export type KeyTriple = Triple<BIP32Interface>;
5
+ /**
6
+ * Create new bip32 key. Uses random seed if none is passed.
7
+ * @param seed
8
+ */
9
+ export declare function getKey(seed?: string): BIP32Interface;
10
+ /**
11
+ * Return deterministic key triple of bip32 keys
12
+ * @param prefix
13
+ */
14
+ export declare function getKeyTriple(prefix?: string): KeyTriple;
15
+ export declare function getRootWalletKeys(prefix?: string, derivationPrefixes?: Triple<string>): utxolib.bitgo.RootWalletKeys;
16
+ //# sourceMappingURL=key.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"key.utils.d.ts","sourceRoot":"","sources":["../../../src/testutil/key.utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,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"}
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,22 @@
1
+ import * as crypto from 'crypto';
2
+ import { bip32 } from '@bitgo-beta/secp256k1';
3
+ import * as utxolib from '@bitgo-beta/utxo-lib';
4
+ /**
5
+ * Create new bip32 key. Uses random seed if none is passed.
6
+ * @param seed
7
+ */
8
+ export function getKey(seed) {
9
+ const finalSeed = seed === undefined ? crypto.randomBytes(32) : crypto.createHash('sha256').update(seed).digest();
10
+ return bip32.fromSeed(finalSeed);
11
+ }
12
+ /**
13
+ * Return deterministic key triple of bip32 keys
14
+ * @param prefix
15
+ */
16
+ export function getKeyTriple(prefix = '') {
17
+ return Array.from({ length: 3 }).map((_, i) => getKey(`${prefix}${i}`));
18
+ }
19
+ export function getRootWalletKeys(prefix = '', derivationPrefixes) {
20
+ return new utxolib.bitgo.RootWalletKeys(getKeyTriple(prefix), derivationPrefixes);
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rlc3R1dGlsL2tleS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsS0FBSyxFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFNaEQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFhO0lBQ2xDLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xILE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRTtJQUN0QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBYyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxrQkFBbUM7SUFDaEYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3BGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2VjcDI1NmsxJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgdHlwZSBUcmlwbGU8VD4gPSBbVCwgVCwgVF07XG5cbmV4cG9ydCB0eXBlIEtleVRyaXBsZSA9IFRyaXBsZTxCSVAzMkludGVyZmFjZT47XG5cbi8qKlxuICogQ3JlYXRlIG5ldyBiaXAzMiBrZXkuIFVzZXMgcmFuZG9tIHNlZWQgaWYgbm9uZSBpcyBwYXNzZWQuXG4gKiBAcGFyYW0gc2VlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5KHNlZWQ/OiBzdHJpbmcpOiBCSVAzMkludGVyZmFjZSB7XG4gIGNvbnN0IGZpbmFsU2VlZCA9IHNlZWQgPT09IHVuZGVmaW5lZCA/IGNyeXB0by5yYW5kb21CeXRlcygzMikgOiBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHNlZWQpLmRpZ2VzdCgpO1xuICByZXR1cm4gYmlwMzIuZnJvbVNlZWQoZmluYWxTZWVkKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gZGV0ZXJtaW5pc3RpYyBrZXkgdHJpcGxlIG9mIGJpcDMyIGtleXNcbiAqIEBwYXJhbSBwcmVmaXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEtleVRyaXBsZShwcmVmaXggPSAnJyk6IEtleVRyaXBsZSB7XG4gIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAzIH0pLm1hcCgoXywgaSkgPT4gZ2V0S2V5KGAke3ByZWZpeH0ke2l9YCkpIGFzIEtleVRyaXBsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RXYWxsZXRLZXlzKHByZWZpeCA9ICcnLCBkZXJpdmF0aW9uUHJlZml4ZXM/OiBUcmlwbGU8c3RyaW5nPik6IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMge1xuICByZXR1cm4gbmV3IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMoZ2V0S2V5VHJpcGxlKHByZWZpeCksIGRlcml2YXRpb25QcmVmaXhlcyk7XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ type ToPlainObjectOpts = {
2
+ propertyDescriptors?: boolean;
3
+ skipUndefinedValues?: boolean;
4
+ ignorePaths?: string[] | ((path: PathElement[]) => boolean);
5
+ apply?: (v: unknown, path: PathElement[]) => unknown;
6
+ };
7
+ export type PathElement = string | number;
8
+ export declare function matchPath(a: PathElement[], b: PathElement[]): boolean;
9
+ export declare function toPlainObject(v: unknown, opts?: ToPlainObjectOpts, path?: PathElement[]): unknown;
10
+ export {};
11
+ //# sourceMappingURL=toPlainObject.utils.d.ts.map
@@ -1 +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;AA0CD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAE,iBAAsB,EAAE,IAAI,GAAE,WAAW,EAAO,GAAG,OAAO,CAyCzG"}
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,85 @@
1
+ export function matchPath(a, b) {
2
+ return a.length === b.length && a.every((e, i) => e === b[i]);
3
+ }
4
+ function includePath(opts, path) {
5
+ if (!opts.ignorePaths) {
6
+ return true;
7
+ }
8
+ if (typeof opts.ignorePaths === 'function') {
9
+ return !opts.ignorePaths(path);
10
+ }
11
+ return !opts.ignorePaths.some((ignorePath) => matchPath(path, ignorePath.split('.')));
12
+ }
13
+ function toPlainEntries(key, value, opts, path) {
14
+ if (!includePath(opts, [...path, key])) {
15
+ return [];
16
+ }
17
+ if (value === undefined && (opts.skipUndefinedValues ?? true)) {
18
+ return [];
19
+ }
20
+ return [[key, toPlainObject(value, opts, [...path, key])]];
21
+ }
22
+ function getAllDescriptors(v) {
23
+ if (v === null || typeof v !== 'object') {
24
+ return {};
25
+ }
26
+ const descriptors = Object.getOwnPropertyDescriptors(v);
27
+ const proto = Object.getPrototypeOf(v);
28
+ if (proto) {
29
+ Object.assign(descriptors, getAllDescriptors(proto));
30
+ }
31
+ return descriptors;
32
+ }
33
+ function toPlainObjectFromPropertyDescriptors(v, opts, path) {
34
+ const descriptors = getAllDescriptors(v);
35
+ return Object.fromEntries(Object.entries(descriptors).flatMap(([key, descriptor]) => {
36
+ if (typeof descriptor.value === 'function') {
37
+ return [];
38
+ }
39
+ if (descriptor.value !== undefined) {
40
+ return toPlainEntries(key, descriptor.value, opts, path);
41
+ }
42
+ if (typeof descriptor.get === 'function') {
43
+ return toPlainEntries(key, descriptor.get.call(v), opts, path);
44
+ }
45
+ return [];
46
+ }));
47
+ }
48
+ export function toPlainObject(v, opts = {}, path = []) {
49
+ if (opts.apply) {
50
+ const result = opts.apply(v, path);
51
+ if (result !== undefined) {
52
+ return result;
53
+ }
54
+ }
55
+ switch (typeof v) {
56
+ case 'string':
57
+ case 'number':
58
+ case 'boolean':
59
+ case 'undefined':
60
+ return v;
61
+ case 'bigint':
62
+ return v.toString();
63
+ case 'function':
64
+ case 'symbol':
65
+ return undefined;
66
+ }
67
+ if (v === null) {
68
+ return v;
69
+ }
70
+ if (Buffer.isBuffer(v)) {
71
+ return v.toString('hex');
72
+ }
73
+ if (Array.isArray(v)) {
74
+ return v.map((e, i) => toPlainObject(e, opts, [...path, i]));
75
+ }
76
+ if (typeof v === 'object') {
77
+ const result = Object.fromEntries(Object.entries(v).flatMap(([key, value]) => toPlainEntries(key, value, opts, path)));
78
+ if (opts.propertyDescriptors) {
79
+ Object.assign(result, toPlainObjectFromPropertyDescriptors(v, opts, path));
80
+ }
81
+ return result;
82
+ }
83
+ throw new Error(`unknown v ${typeof v}`);
84
+ }
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9QbGFpbk9iamVjdC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0dXRpbC90b1BsYWluT2JqZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBZ0IsRUFBRSxDQUFnQjtJQUMxRCxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxJQUF1QixFQUFFLElBQW1CO0lBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQ3JCLEdBQVcsRUFDWCxLQUFhLEVBQ2IsSUFBdUIsRUFDdkIsSUFBbUI7SUFFbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsSUFBSSxLQUFLLEtBQUss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QyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQ3BGLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLG9DQUFvQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgVG9QbGFpbk9iamVjdE9wdHMgPSB7XG4gIHByb3BlcnR5RGVzY3JpcHRvcnM/OiBib29sZWFuO1xuICBza2lwVW5kZWZpbmVkVmFsdWVzPzogYm9vbGVhbjtcbiAgaWdub3JlUGF0aHM/OiBzdHJpbmdbXSB8ICgocGF0aDogUGF0aEVsZW1lbnRbXSkgPT4gYm9vbGVhbik7XG4gIGFwcGx5PzogKHY6IHVua25vd24sIHBhdGg6IFBhdGhFbGVtZW50W10pID0+IHVua25vd247XG59O1xuZXhwb3J0IHR5cGUgUGF0aEVsZW1lbnQgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFBhdGgoYTogUGF0aEVsZW1lbnRbXSwgYjogUGF0aEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoKGUsIGkpID0+IGUgPT09IGJbaV0pO1xufVxuXG5mdW5jdGlvbiBpbmNsdWRlUGF0aChvcHRzOiBUb1BsYWluT2JqZWN0T3B0cywgcGF0aDogUGF0aEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICBpZiAoIW9wdHMuaWdub3JlUGF0aHMpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdHMuaWdub3JlUGF0aHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gIW9wdHMuaWdub3JlUGF0aHMocGF0aCk7XG4gIH1cbiAgcmV0dXJuICFvcHRzLmlnbm9yZVBhdGhzLnNvbWUoKGlnbm9yZVBhdGgpID0+IG1hdGNoUGF0aChwYXRoLCBpZ25vcmVQYXRoLnNwbGl0KCcuJykpKTtcbn1cblxuZnVuY3Rpb24gdG9QbGFpbkVudHJpZXMoXG4gIGtleTogc3RyaW5nLFxuICB2YWx1ZTogc3RyaW5nLFxuICBvcHRzOiBUb1BsYWluT2JqZWN0T3B0cyxcbiAgcGF0aDogUGF0aEVsZW1lbnRbXVxuKTogW10gfCBbW3N0cmluZywgdW5rbm93bl1dIHtcbiAgaWYgKCFpbmNsdWRlUGF0aChvcHRzLCBbLi4ucGF0aCwga2V5XSkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgJiYgKG9wdHMuc2tpcFVuZGVmaW5lZFZhbHVlcyA/PyB0cnVlKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gW1trZXksIHRvUGxhaW5PYmplY3QodmFsdWUsIG9wdHMsIFsuLi5wYXRoLCBrZXldKV1dO1xufVxuXG5mdW5jdGlvbiBnZXRBbGxEZXNjcmlwdG9ycyh2OiB1bmtub3duKTogUHJvcGVydHlEZXNjcmlwdG9yTWFwIHtcbiAgaWYgKHYgPT09IG51bGwgfHwgdHlwZW9mIHYgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIGNvbnN0IGRlc2NyaXB0b3JzOiBQcm9wZXJ0eURlc2NyaXB0b3JNYXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh2KTtcbiAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yodik7XG4gIGlmIChwcm90bykge1xuICAgIE9iamVjdC5hc3NpZ24oZGVzY3JpcHRvcnMsIGdldEFsbERlc2NyaXB0b3JzKHByb3RvKSk7XG4gIH1cbiAgcmV0dXJuIGRlc2NyaXB0b3JzO1xufVxuXG5mdW5jdGlvbiB0b1BsYWluT2JqZWN0RnJvbVByb3BlcnR5RGVzY3JpcHRvcnModjogdW5rbm93biwgb3B0czogVG9QbGFpbk9iamVjdE9wdHMsIHBhdGg6IFBhdGhFbGVtZW50W10pIHtcbiAgY29uc3QgZGVzY3JpcHRvcnMgPSBnZXRBbGxEZXNjcmlwdG9ycyh2KTtcbiAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhkZXNjcmlwdG9ycykuZmxhdE1hcCgoW2tleSwgZGVzY3JpcHRvcl0pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB0b1BsYWluRW50cmllcyhrZXksIGRlc2NyaXB0b3IudmFsdWUsIG9wdHMsIHBhdGgpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yLmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdG9QbGFpbkVudHJpZXMoa2V5LCBkZXNjcmlwdG9yLmdldC5jYWxsKHYpLCBvcHRzLCBwYXRoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbXTtcbiAgICB9KVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9QbGFpbk9iamVjdCh2OiB1bmtub3duLCBvcHRzOiBUb1BsYWluT2JqZWN0T3B0cyA9IHt9LCBwYXRoOiBQYXRoRWxlbWVudFtdID0gW10pOiB1bmtub3duIHtcbiAgaWYgKG9wdHMuYXBwbHkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBvcHRzLmFwcGx5KHYsIHBhdGgpO1xuICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2ggKHR5cGVvZiB2KSB7XG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICBjYXNlICdudW1iZXInOlxuICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICByZXR1cm4gdjtcbiAgICBjYXNlICdiaWdpbnQnOlxuICAgICAgcmV0dXJuIHYudG9TdHJpbmcoKTtcbiAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAodiA9PT0gbnVsbCkge1xuICAgIHJldHVybiB2O1xuICB9XG5cbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2KSkge1xuICAgIHJldHVybiB2LnRvU3RyaW5nKCdoZXgnKTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgIHJldHVybiB2Lm1hcCgoZSwgaSkgPT4gdG9QbGFpbk9iamVjdChlLCBvcHRzLCBbLi4ucGF0aCwgaV0pKTtcbiAgfVxuICBpZiAodHlwZW9mIHYgPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXModikuZmxhdE1hcCgoW2tleSwgdmFsdWVdKSA9PiB0b1BsYWluRW50cmllcyhrZXksIHZhbHVlLCBvcHRzLCBwYXRoKSlcbiAgICApO1xuICAgIGlmIChvcHRzLnByb3BlcnR5RGVzY3JpcHRvcnMpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24ocmVzdWx0LCB0b1BsYWluT2JqZWN0RnJvbVByb3BlcnR5RGVzY3JpcHRvcnModiwgb3B0cywgcGF0aCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgdW5rbm93biB2ICR7dHlwZW9mIHZ9YCk7XG59XG4iXX0=
@@ -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,24 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ /** We receive a proof in the form:
3
+ * 0x18Bitcoin Signed Message:\n<varint_length><ENTROPY><ADDRESS><UUID>
4
+ * and when verifying our message we want to exclude the 0x18Bitcoin Signed Message:\n<varint_length>
5
+ * of the proof so that we are left with the entropy address and uuid as our message.
6
+ * This is what we are going to be verifying.
7
+ *
8
+ * @param proof
9
+ * @returns
10
+ */
11
+ export function trimMessagePrefix(proof) {
12
+ const prefix = '\u0018Bitcoin Signed Message:\n';
13
+ if (proof.toString().startsWith(prefix)) {
14
+ proof = proof.slice(Buffer.from(prefix).length);
15
+ utxolib.bufferutils.varuint.decode(proof, 0);
16
+ // Determines how many bytes were consumed during our last varuint.decode(Buffer, offset)
17
+ // So if varuint.decode(0xfd) then varuint.decode.bytes = 3
18
+ // varuint.decode(0xfe) then varuint.decode.bytes = 5, etc.
19
+ const varintBytesLength = utxolib.bufferutils.varuint.decode.bytes;
20
+ proof.slice(varintBytesLength);
21
+ }
22
+ return proof;
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbU1lc3NhZ2VQcmVmaXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvdHJpbU1lc3NhZ2VQcmVmaXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUVoRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFhO0lBQzdDLE1BQU0sTUFBTSxHQUFHLGlDQUFpQyxDQUFDO0lBQ2pELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3hDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3Qyx5RkFBeUY7UUFDekYsMkRBQTJEO1FBQzNELDJEQUEyRDtRQUMzRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFbkUsS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuLyoqIFdlIHJlY2VpdmUgYSBwcm9vZiBpbiB0aGUgZm9ybTpcbiAqIDB4MThCaXRjb2luIFNpZ25lZCBNZXNzYWdlOlxcbjx2YXJpbnRfbGVuZ3RoPjxFTlRST1BZPjxBRERSRVNTPjxVVUlEPlxuICogYW5kIHdoZW4gdmVyaWZ5aW5nIG91ciBtZXNzYWdlIHdlIHdhbnQgdG8gZXhjbHVkZSB0aGUgMHgxOEJpdGNvaW4gU2lnbmVkIE1lc3NhZ2U6XFxuPHZhcmludF9sZW5ndGg+XG4gKiBvZiB0aGUgcHJvb2Ygc28gdGhhdCB3ZSBhcmUgbGVmdCB3aXRoIHRoZSBlbnRyb3B5IGFkZHJlc3MgYW5kIHV1aWQgYXMgb3VyIG1lc3NhZ2UuXG4gKiBUaGlzIGlzIHdoYXQgd2UgYXJlIGdvaW5nIHRvIGJlIHZlcmlmeWluZy5cbiAqXG4gKiBAcGFyYW0gcHJvb2ZcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmltTWVzc2FnZVByZWZpeChwcm9vZjogQnVmZmVyKTogQnVmZmVyIHtcbiAgY29uc3QgcHJlZml4ID0gJ1xcdTAwMThCaXRjb2luIFNpZ25lZCBNZXNzYWdlOlxcbic7XG4gIGlmIChwcm9vZi50b1N0cmluZygpLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgIHByb29mID0gcHJvb2Yuc2xpY2UoQnVmZmVyLmZyb20ocHJlZml4KS5sZW5ndGgpO1xuICAgIHV0eG9saWIuYnVmZmVydXRpbHMudmFydWludC5kZWNvZGUocHJvb2YsIDApO1xuICAgIC8vIERldGVybWluZXMgaG93IG1hbnkgYnl0ZXMgd2VyZSBjb25zdW1lZCBkdXJpbmcgb3VyIGxhc3QgdmFydWludC5kZWNvZGUoQnVmZmVyLCBvZmZzZXQpXG4gICAgLy8gU28gaWYgdmFydWludC5kZWNvZGUoMHhmZCkgdGhlbiB2YXJ1aW50LmRlY29kZS5ieXRlcyA9IDNcbiAgICAvLyB2YXJ1aW50LmRlY29kZSgweGZlKSB0aGVuIHZhcnVpbnQuZGVjb2RlLmJ5dGVzID0gNSwgZXRjLlxuICAgIGNvbnN0IHZhcmludEJ5dGVzTGVuZ3RoID0gdXR4b2xpYi5idWZmZXJ1dGlscy52YXJ1aW50LmRlY29kZS5ieXRlcztcblxuICAgIHByb29mLnNsaWNlKHZhcmludEJ5dGVzTGVuZ3RoKTtcbiAgfVxuICByZXR1cm4gcHJvb2Y7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export declare function toXOnlyPublicKey(b: Buffer): Buffer;
2
+ //# sourceMappingURL=xOnlyPubkey.d.ts.map
@@ -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"}
@@ -0,0 +1,15 @@
1
+ export function toXOnlyPublicKey(b) {
2
+ if (b.length === 33) {
3
+ if (b[0] === 0x02 || b[0] === 0x03) {
4
+ return b.subarray(1);
5
+ }
6
+ else {
7
+ throw new Error(`invalid pubkey leading byte ${b.subarray(0, 1).toString('hex')}`);
8
+ }
9
+ }
10
+ if (b.length === 32) {
11
+ return b;
12
+ }
13
+ throw new Error(`invalid pubkey buffer length ${b.length}`);
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieE9ubHlQdWJrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMveE9ubHlQdWJrZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGdCQUFnQixDQUFDLENBQVM7SUFDeEMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHRvWE9ubHlQdWJsaWNLZXkoYjogQnVmZmVyKTogQnVmZmVyIHtcbiAgaWYgKGIubGVuZ3RoID09PSAzMykge1xuICAgIGlmIChiWzBdID09PSAweDAyIHx8IGJbMF0gPT09IDB4MDMpIHtcbiAgICAgIHJldHVybiBiLnN1YmFycmF5KDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgcHVia2V5IGxlYWRpbmcgYnl0ZSAke2Iuc3ViYXJyYXkoMCwgMSkudG9TdHJpbmcoJ2hleCcpfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChiLmxlbmd0aCA9PT0gMzIpIHtcbiAgICByZXR1cm4gYjtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBwdWJrZXkgYnVmZmVyIGxlbmd0aCAke2IubGVuZ3RofWApO1xufVxuIl19