@btc-vision/bitcoin 6.3.1 → 6.3.3

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 (374) hide show
  1. package/.babelrc +4 -0
  2. package/.gitattributes +2 -0
  3. package/.nyc_output/6368a5b2-daa5-4821-8ed0-b742d6fc7eab.json +1 -0
  4. package/.nyc_output/processinfo/6368a5b2-daa5-4821-8ed0-b742d6fc7eab.json +1 -0
  5. package/.nyc_output/processinfo/index.json +1 -0
  6. package/.prettierrc.json +12 -0
  7. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/.ready +0 -0
  8. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/.release-please-manifest.json +3 -0
  9. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/CHANGELOG.md +962 -0
  10. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/CONTRIBUTING.md +34 -0
  11. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/LICENSE +24 -0
  12. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/README.md +273 -0
  13. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/SECURITY.md +2 -0
  14. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/addon.gypi +204 -0
  15. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/bin/node-gyp.js +138 -0
  16. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
  17. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/LICENSE +28 -0
  18. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
  19. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
  20. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/GypVsCMake.md +116 -0
  21. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/Hacking.md +46 -0
  22. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/InputFormatReference.md +1080 -0
  23. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/LanguageSpecification.md +430 -0
  24. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/README.md +27 -0
  25. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/Testing.md +450 -0
  26. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/UserDocumentation.md +965 -0
  27. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/gyp +8 -0
  28. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/gyp.bat +5 -0
  29. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/gyp_main.py +45 -0
  30. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
  31. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
  32. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1272 -0
  33. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1547 -0
  34. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
  35. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +153 -0
  36. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +271 -0
  37. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +574 -0
  38. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +692 -0
  39. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/common.py +711 -0
  40. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +171 -0
  41. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +169 -0
  42. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
  43. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
  44. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  45. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +804 -0
  46. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1173 -0
  47. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1318 -0
  48. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +127 -0
  49. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +103 -0
  50. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
  51. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +89 -0
  52. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +57 -0
  53. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2745 -0
  54. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3976 -0
  55. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
  56. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2964 -0
  57. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +67 -0
  58. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1391 -0
  59. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +25 -0
  60. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/input.py +3115 -0
  61. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +98 -0
  62. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +771 -0
  63. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1260 -0
  64. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
  65. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
  66. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +373 -0
  67. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1938 -0
  68. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +53 -0
  69. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +302 -0
  70. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3198 -0
  71. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +65 -0
  72. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
  73. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
  74. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
  75. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
  76. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +108 -0
  77. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
  78. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
  79. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
  80. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
  81. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
  82. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/markers.py +252 -0
  83. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +825 -0
  84. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  85. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
  86. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
  87. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
  88. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
  89. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
  90. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pyproject.toml +120 -0
  91. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/release-please-config.json +11 -0
  92. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/test_gyp.py +261 -0
  93. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
  94. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/build.js +227 -0
  95. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/clean.js +15 -0
  96. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/configure.js +328 -0
  97. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/create-config-gypi.js +150 -0
  98. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/download.js +39 -0
  99. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/find-node-directory.js +63 -0
  100. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/find-python.js +310 -0
  101. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/find-visualstudio.js +590 -0
  102. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/install.js +415 -0
  103. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/list.js +26 -0
  104. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/log.js +168 -0
  105. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/node-gyp.js +188 -0
  106. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/process-release.js +146 -0
  107. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/rebuild.js +12 -0
  108. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/remove.js +43 -0
  109. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/util.js +81 -0
  110. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
  111. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/package.json +51 -0
  112. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/release-please-config.json +40 -0
  113. package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/src/win_delay_load_hook.cc +39 -0
  114. package/CHANGELOG.md +403 -0
  115. package/CONTRIBUTING.md +83 -0
  116. package/browser/address.d.ts +16 -0
  117. package/{src → browser}/bip66.d.ts +6 -7
  118. package/{src → browser}/block.d.ts +29 -30
  119. package/{src → browser}/bufferutils.d.ts +34 -54
  120. package/browser/crypto/crypto.d.ts +1 -0
  121. package/{src → browser}/crypto.d.ts +13 -18
  122. package/browser/ecc_lib.d.ts +3 -0
  123. package/browser/hooks/AdvancedSignatureManager.d.ts +16 -0
  124. package/{src → browser}/hooks/HookedSigner.d.ts +4 -4
  125. package/browser/hooks/SignatureManager.d.ts +13 -0
  126. package/browser/index.d.ts +58 -0
  127. package/browser/index.js +2 -0
  128. package/browser/index.js.LICENSE.txt +14 -0
  129. package/browser/merkle.d.ts +1 -0
  130. package/browser/networks.d.ts +23 -0
  131. package/{src → browser}/ops.d.ts +126 -126
  132. package/browser/payments/bip341.d.ts +23 -0
  133. package/browser/payments/embed.d.ts +2 -0
  134. package/browser/payments/index.d.ts +43 -0
  135. package/{src → browser}/payments/lazy.d.ts +2 -2
  136. package/browser/payments/p2ms.d.ts +2 -0
  137. package/browser/payments/p2pk.d.ts +2 -0
  138. package/browser/payments/p2pkh.d.ts +2 -0
  139. package/browser/payments/p2sh.d.ts +2 -0
  140. package/browser/payments/p2tr.d.ts +2 -0
  141. package/browser/payments/p2wpkh.d.ts +2 -0
  142. package/browser/payments/p2wsh.d.ts +2 -0
  143. package/browser/psbt/bip371.d.ts +16 -0
  144. package/browser/psbt/psbtutils.d.ts +26 -0
  145. package/{src → browser}/psbt.d.ts +167 -238
  146. package/browser/push_data.d.ts +7 -0
  147. package/browser/script.d.ts +17 -0
  148. package/browser/script_number.d.ts +2 -0
  149. package/browser/script_signature.d.ts +7 -0
  150. package/{src → browser}/transaction.d.ts +48 -60
  151. package/{src → browser}/types.d.ts +37 -54
  152. package/build/address.d.ts +16 -0
  153. package/build/address.js +148 -0
  154. package/build/bip66.d.ts +6 -0
  155. package/build/bip66.js +99 -0
  156. package/build/block.d.ts +29 -0
  157. package/build/block.js +181 -0
  158. package/build/bufferutils.d.ts +34 -0
  159. package/build/bufferutils.js +141 -0
  160. package/build/crypto/crypto.d.ts +1 -0
  161. package/build/crypto/crypto.js +1 -0
  162. package/build/crypto.d.ts +13 -0
  163. package/build/crypto.js +87 -0
  164. package/build/ecc_lib.d.ts +3 -0
  165. package/build/ecc_lib.js +61 -0
  166. package/build/hooks/AdvancedSignatureManager.d.ts +16 -0
  167. package/build/hooks/AdvancedSignatureManager.js +52 -0
  168. package/build/hooks/HookedSigner.d.ts +4 -0
  169. package/build/hooks/HookedSigner.js +64 -0
  170. package/build/hooks/SignatureManager.d.ts +13 -0
  171. package/build/hooks/SignatureManager.js +45 -0
  172. package/build/index.d.ts +58 -0
  173. package/build/index.js +32 -0
  174. package/build/merkle.d.ts +1 -0
  175. package/build/merkle.js +19 -0
  176. package/build/networks.d.ts +23 -0
  177. package/build/networks.js +121 -0
  178. package/build/ops.d.ts +126 -0
  179. package/{src → build}/ops.js +127 -131
  180. package/build/payments/bip341.d.ts +23 -0
  181. package/build/payments/bip341.js +82 -0
  182. package/build/payments/embed.d.ts +2 -0
  183. package/build/payments/embed.js +39 -0
  184. package/build/payments/index.d.ts +43 -0
  185. package/build/payments/index.js +10 -0
  186. package/build/payments/lazy.d.ts +2 -0
  187. package/{src → build}/payments/lazy.js +28 -32
  188. package/build/payments/p2ms.d.ts +2 -0
  189. package/{src → build}/payments/p2ms.js +128 -158
  190. package/build/payments/p2pk.d.ts +2 -0
  191. package/build/payments/p2pk.js +68 -0
  192. package/build/payments/p2pkh.d.ts +2 -0
  193. package/build/payments/p2pkh.js +173 -0
  194. package/build/payments/p2sh.d.ts +2 -0
  195. package/build/payments/p2sh.js +176 -0
  196. package/build/payments/p2tr.d.ts +2 -0
  197. package/build/payments/p2tr.js +254 -0
  198. package/build/payments/p2wpkh.d.ts +2 -0
  199. package/build/payments/p2wpkh.js +130 -0
  200. package/build/payments/p2wsh.d.ts +2 -0
  201. package/build/payments/p2wsh.js +180 -0
  202. package/build/psbt/bip371.d.ts +16 -0
  203. package/build/psbt/bip371.js +246 -0
  204. package/build/psbt/psbtutils.d.ts +26 -0
  205. package/build/psbt/psbtutils.js +177 -0
  206. package/build/psbt.d.ts +167 -0
  207. package/build/psbt.js +1307 -0
  208. package/build/push_data.d.ts +7 -0
  209. package/build/push_data.js +57 -0
  210. package/build/script.d.ts +17 -0
  211. package/build/script.js +167 -0
  212. package/build/script_number.d.ts +2 -0
  213. package/build/script_number.js +49 -0
  214. package/build/script_signature.d.ts +7 -0
  215. package/build/script_signature.js +49 -0
  216. package/build/transaction.d.ts +48 -0
  217. package/build/transaction.js +445 -0
  218. package/build/types.d.ts +37 -0
  219. package/build/types.js +73 -0
  220. package/cjs/package.json +3 -0
  221. package/coverage/tmp/coverage-31752-1735543485354-0.json +1 -0
  222. package/coverage/tmp/coverage-59920-1735543484555-0.json +1 -0
  223. package/coverage/tmp/coverage-66252-1735543483919-0.json +1 -0
  224. package/coverage/tmp/coverage-68440-1735543485236-0.json +1 -0
  225. package/coverage/tmp/coverage-70588-1735543484426-0.json +1 -0
  226. package/coverage/tmp/coverage-79292-1735543485296-0.json +1 -0
  227. package/coverage/tmp/coverage-80212-1735543483980-0.json +1 -0
  228. package/eslint.config.js +56 -0
  229. package/gulpfile.js +42 -0
  230. package/package.json +105 -50
  231. package/src/{address.js → address.ts} +211 -191
  232. package/src/{bip66.js → bip66.ts} +23 -19
  233. package/src/{block.js → block.ts} +114 -105
  234. package/src/{bufferutils.js → bufferutils.ts} +65 -67
  235. package/src/crypto/crypto-browser.js +75 -0
  236. package/src/crypto/crypto.ts +1 -0
  237. package/src/crypto.ts +108 -0
  238. package/src/{ecc_lib.js → ecc_lib.ts} +25 -53
  239. package/src/hooks/{AdvancedSignatureManager.js → AdvancedSignatureManager.ts} +34 -18
  240. package/src/hooks/HookedSigner.ts +108 -0
  241. package/src/hooks/{SignatureManager.js → SignatureManager.ts} +26 -14
  242. package/src/index.ts +86 -0
  243. package/src/{merkle.js → merkle.ts} +8 -7
  244. package/src/{networks.js → networks.ts} +235 -220
  245. package/src/ops.ts +282 -0
  246. package/src/payments/bip341.ts +140 -0
  247. package/src/payments/embed.ts +55 -0
  248. package/src/payments/{index.d.ts → index.ts} +24 -10
  249. package/src/payments/lazy.ts +28 -0
  250. package/src/payments/p2ms.ts +150 -0
  251. package/src/payments/{p2pk.js → p2pk.ts} +85 -82
  252. package/src/payments/p2pkh.ts +206 -0
  253. package/src/payments/{p2sh.js → p2sh.ts} +206 -204
  254. package/src/payments/{p2tr.js → p2tr.ts} +114 -125
  255. package/src/payments/{p2wpkh.js → p2wpkh.ts} +51 -56
  256. package/src/payments/{p2wsh.js → p2wsh.ts} +69 -81
  257. package/src/psbt/{bip371.js → bip371.ts} +441 -424
  258. package/src/psbt/psbtutils.ts +301 -0
  259. package/src/{psbt.js → psbt.ts} +2187 -1828
  260. package/src/{push_data.js → push_data.ts} +35 -21
  261. package/src/{script.js → script.ts} +93 -77
  262. package/src/{script_number.js → script_number.ts} +15 -21
  263. package/src/{script_signature.js → script_signature.ts} +26 -14
  264. package/src/{transaction.js → transaction.ts} +247 -167
  265. package/src/types.ts +122 -0
  266. package/test/address.spec.js +124 -0
  267. package/test/address.spec.ts +177 -0
  268. package/test/bitcoin.core.spec.js +170 -0
  269. package/test/bitcoin.core.spec.ts +234 -0
  270. package/test/block.spec.js +141 -0
  271. package/test/block.spec.ts +194 -0
  272. package/test/bufferutils.spec.js +427 -0
  273. package/test/bufferutils.spec.ts +513 -0
  274. package/test/crypto.spec.js +41 -0
  275. package/test/crypto.spec.ts +55 -0
  276. package/test/fixtures/address.json +329 -0
  277. package/test/fixtures/block.json +148 -0
  278. package/test/fixtures/bufferutils.json +102 -0
  279. package/test/fixtures/core/README.md +26 -0
  280. package/test/fixtures/core/base58_encode_decode.json +50 -0
  281. package/test/fixtures/core/base58_keys_invalid.json +152 -0
  282. package/test/fixtures/core/base58_keys_valid.json +452 -0
  283. package/test/fixtures/core/blocks.json +27 -0
  284. package/test/fixtures/core/sig_canonical.json +7 -0
  285. package/test/fixtures/core/sig_noncanonical.json +33 -0
  286. package/test/fixtures/core/sighash.json +3505 -0
  287. package/test/fixtures/core/tx_valid.json +2023 -0
  288. package/test/fixtures/crypto.json +43 -0
  289. package/test/fixtures/ecdsa.json +217 -0
  290. package/test/fixtures/ecpair.json +141 -0
  291. package/test/fixtures/embed.json +108 -0
  292. package/test/fixtures/p2ms.json +434 -0
  293. package/test/fixtures/p2pk.json +179 -0
  294. package/test/fixtures/p2pkh.json +276 -0
  295. package/test/fixtures/p2sh.json +508 -0
  296. package/test/fixtures/p2tr.json +1198 -0
  297. package/test/fixtures/p2wpkh.json +290 -0
  298. package/test/fixtures/p2wsh.json +489 -0
  299. package/test/fixtures/psbt.json +924 -0
  300. package/test/fixtures/script.json +465 -0
  301. package/test/fixtures/script_number.json +225 -0
  302. package/test/fixtures/signature.json +140 -0
  303. package/test/fixtures/transaction.json +916 -0
  304. package/test/integration/_regtest.js +7 -0
  305. package/test/integration/_regtest.ts +6 -0
  306. package/test/integration/addresses.spec.js +116 -0
  307. package/test/integration/addresses.spec.ts +154 -0
  308. package/test/integration/bip32.spec.js +85 -0
  309. package/test/integration/bip32.spec.ts +151 -0
  310. package/test/integration/blocks.spec.js +26 -0
  311. package/test/integration/blocks.spec.ts +28 -0
  312. package/test/integration/cltv.spec.js +199 -0
  313. package/test/integration/cltv.spec.ts +283 -0
  314. package/test/integration/csv.spec.js +362 -0
  315. package/test/integration/csv.spec.ts +527 -0
  316. package/test/integration/payments.spec.js +98 -0
  317. package/test/integration/payments.spec.ts +135 -0
  318. package/test/integration/taproot.spec.js +532 -0
  319. package/test/integration/taproot.spec.ts +707 -0
  320. package/test/integration/transactions.spec.js +561 -0
  321. package/test/integration/transactions.spec.ts +769 -0
  322. package/test/payments.spec.js +97 -0
  323. package/test/payments.spec.ts +125 -0
  324. package/test/payments.utils.js +190 -0
  325. package/test/payments.utils.ts +208 -0
  326. package/test/psbt.spec.js +1044 -0
  327. package/test/psbt.spec.ts +1414 -0
  328. package/test/script.spec.js +151 -0
  329. package/test/script.spec.ts +210 -0
  330. package/test/script_number.spec.js +24 -0
  331. package/test/script_number.spec.ts +29 -0
  332. package/test/script_signature.spec.js +52 -0
  333. package/test/script_signature.spec.ts +66 -0
  334. package/test/transaction.spec.js +269 -0
  335. package/test/transaction.spec.ts +387 -0
  336. package/test/ts-node-register.js +5 -0
  337. package/test/tsconfig.json +45 -0
  338. package/test/types.spec.js +46 -0
  339. package/test/types.spec.ts +58 -0
  340. package/tsconfig.base.json +27 -0
  341. package/tsconfig.json +19 -0
  342. package/tsconfig.webpack.json +18 -0
  343. package/webpack.config.js +79 -0
  344. package/src/address.d.ts +0 -42
  345. package/src/crypto.js +0 -128
  346. package/src/ecc_lib.d.ts +0 -17
  347. package/src/hooks/AdvancedSignatureManager.d.ts +0 -44
  348. package/src/hooks/HookedSigner.js +0 -90
  349. package/src/hooks/SignatureManager.d.ts +0 -35
  350. package/src/index.d.ts +0 -42
  351. package/src/index.js +0 -87
  352. package/src/merkle.d.ts +0 -10
  353. package/src/networks.d.ts +0 -83
  354. package/src/payments/bip341.d.ts +0 -49
  355. package/src/payments/bip341.js +0 -124
  356. package/src/payments/embed.d.ts +0 -9
  357. package/src/payments/embed.js +0 -54
  358. package/src/payments/index.js +0 -69
  359. package/src/payments/p2ms.d.ts +0 -9
  360. package/src/payments/p2pk.d.ts +0 -10
  361. package/src/payments/p2pkh.d.ts +0 -10
  362. package/src/payments/p2pkh.js +0 -143
  363. package/src/payments/p2sh.d.ts +0 -10
  364. package/src/payments/p2tr.d.ts +0 -10
  365. package/src/payments/p2wpkh.d.ts +0 -10
  366. package/src/payments/p2wsh.d.ts +0 -10
  367. package/src/psbt/bip371.d.ts +0 -42
  368. package/src/psbt/psbtutils.d.ts +0 -64
  369. package/src/psbt/psbtutils.js +0 -191
  370. package/src/push_data.d.ts +0 -29
  371. package/src/script.d.ts +0 -42
  372. package/src/script_number.d.ts +0 -19
  373. package/src/script_signature.d.ts +0 -21
  374. package/src/types.js +0 -106
package/src/index.d.ts DELETED
@@ -1,42 +0,0 @@
1
- import * as address from './address';
2
- import * as crypto from './crypto';
3
- import * as networks from './networks';
4
- import * as payments from './payments';
5
- import * as script from './script';
6
- import { PsbtInput as _PsbtInput, PsbtInputUpdate as _PsbtInputUpdate, PsbtOutput as _PsbtOutput, TapBip32Derivation as _TapBip32Derivation, TapInternalKey as _TapInternalKey, TapKeySig as _TapKeySig, TapLeaf as _TapLeaf, TapLeafScript as _TapLeafScript, TapMerkleRoot as _TapMerkleRoot, TapScriptSig as _TapScriptSig, TapTree as _TapTree } from 'bip174/src/lib/interfaces';
7
- export { address, crypto, networks, payments, script };
8
- export { Block } from './block';
9
- /** @hidden */
10
- export { TaggedHashPrefix } from './crypto';
11
- export * from './psbt';
12
- /** @hidden */
13
- export { OPS as opcodes } from './ops';
14
- export { Transaction } from './transaction';
15
- /** @hidden */
16
- export { Network } from './networks';
17
- /** @hidden */
18
- export { Payment, PaymentCreator, PaymentOpts, Stack, StackElement, } from './payments';
19
- export { Input as TxInput, Output as TxOutput } from './transaction';
20
- export { initEccLib } from './ecc_lib';
21
- export interface PsbtInput extends _PsbtInput {
22
- }
23
- export interface PsbtOutput extends _PsbtOutput {
24
- }
25
- export interface TapInternalKey extends _TapInternalKey {
26
- }
27
- export interface TapLeaf extends _TapLeaf {
28
- }
29
- export interface TapScriptSig extends _TapScriptSig {
30
- }
31
- export interface TapKeySig extends _TapKeySig {
32
- }
33
- export interface TapTree extends _TapTree {
34
- }
35
- export interface TapMerkleRoot extends _TapMerkleRoot {
36
- }
37
- export interface TapLeafScript extends _TapLeafScript {
38
- }
39
- export interface TapBip32Derivation extends _TapBip32Derivation {
40
- }
41
- export interface PsbtInputUpdate extends _PsbtInputUpdate {
42
- }
package/src/index.js DELETED
@@ -1,87 +0,0 @@
1
- 'use strict';
2
- var __createBinding =
3
- (this && this.__createBinding) ||
4
- (Object.create
5
- ? function (o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (
9
- !desc ||
10
- ('get' in desc
11
- ? !m.__esModule
12
- : desc.writable || desc.configurable)
13
- ) {
14
- desc = {
15
- enumerable: true,
16
- get: function () {
17
- return m[k];
18
- },
19
- };
20
- }
21
- Object.defineProperty(o, k2, desc);
22
- }
23
- : function (o, m, k, k2) {
24
- if (k2 === undefined) k2 = k;
25
- o[k2] = m[k];
26
- });
27
- var __exportStar =
28
- (this && this.__exportStar) ||
29
- function (m, exports) {
30
- for (var p in m)
31
- if (
32
- p !== 'default' &&
33
- !Object.prototype.hasOwnProperty.call(exports, p)
34
- )
35
- __createBinding(exports, m, p);
36
- };
37
- Object.defineProperty(exports, '__esModule', { value: true });
38
- exports.initEccLib =
39
- exports.Transaction =
40
- exports.opcodes =
41
- exports.Block =
42
- exports.script =
43
- exports.payments =
44
- exports.networks =
45
- exports.crypto =
46
- exports.address =
47
- void 0;
48
- const address = require('./address');
49
- exports.address = address;
50
- const crypto = require('./crypto');
51
- exports.crypto = crypto;
52
- const networks = require('./networks');
53
- exports.networks = networks;
54
- const payments = require('./payments');
55
- exports.payments = payments;
56
- const script = require('./script');
57
- exports.script = script;
58
- var block_1 = require('./block');
59
- Object.defineProperty(exports, 'Block', {
60
- enumerable: true,
61
- get: function () {
62
- return block_1.Block;
63
- },
64
- });
65
- __exportStar(require('./psbt'), exports);
66
- /** @hidden */
67
- var ops_1 = require('./ops');
68
- Object.defineProperty(exports, 'opcodes', {
69
- enumerable: true,
70
- get: function () {
71
- return ops_1.OPS;
72
- },
73
- });
74
- var transaction_1 = require('./transaction');
75
- Object.defineProperty(exports, 'Transaction', {
76
- enumerable: true,
77
- get: function () {
78
- return transaction_1.Transaction;
79
- },
80
- });
81
- var ecc_lib_1 = require('./ecc_lib');
82
- Object.defineProperty(exports, 'initEccLib', {
83
- enumerable: true,
84
- get: function () {
85
- return ecc_lib_1.initEccLib;
86
- },
87
- });
package/src/merkle.d.ts DELETED
@@ -1,10 +0,0 @@
1
- /// <reference types="node" />
2
- /**
3
- * Calculates the Merkle root of an array of buffers using a specified digest function.
4
- *
5
- * @param values - The array of buffers.
6
- * @param digestFn - The digest function used to calculate the hash of the concatenated buffers.
7
- * @returns The Merkle root as a buffer.
8
- * @throws {TypeError} If the values parameter is not an array or the digestFn parameter is not a function.
9
- */
10
- export declare function fastMerkleRoot(values: Buffer[], digestFn: (b: Buffer) => Buffer): Buffer;
package/src/networks.d.ts DELETED
@@ -1,83 +0,0 @@
1
- /**
2
- * Represents a Bitcoin network configuration,including messagePrefix, bech32, bip32, pubKeyHash, scriptHash, wif.
3
- * Support bitcoin、bitcoin testnet and bitcoin regtest.
4
- * @packageDocumentation
5
- */
6
- export interface Bip32 {
7
- public: number;
8
- private: number;
9
- }
10
- export interface Network {
11
- wif: number;
12
- bip32: Bip32;
13
- messagePrefix: string;
14
- bech32: string;
15
- pubKeyHash: number;
16
- scriptHash: number;
17
- }
18
- /**
19
- * Represents the Bitcoin network configuration.
20
- */
21
- export declare const bitcoin: Network;
22
- /**
23
- * Represents the regtest network configuration.
24
- */
25
- export declare const regtest: Network;
26
- /**
27
- * Represents the testnet network configuration.
28
- */
29
- export declare const testnet: Network;
30
- /**
31
- * Represents the Dogecoin mainnet configuration.
32
- *
33
- * Prefixes from:
34
- * - P2PKH: 0x1e (30 decimal) - addresses start with 'D'
35
- * - P2SH: 0x16 (22 decimal) - addresses often start with '9' or 'A'
36
- * - WIF: 0x9e (158 decimal)
37
- * - BIP32:
38
- * - public: 0x02facafd
39
- * - private: 0x02fac398
40
- * Message prefix:
41
- * - Dogecoin uses "\x19Dogecoin Signed Message:\n"
42
- */
43
- export declare const dogecoin: Network;
44
- /**
45
- * Represents the Dogecoin testnet configuration.
46
- *
47
- * Prefixes from Dogecoin testnet chainparams:
48
- * - P2PKH: 0x71 (113 decimal)
49
- * - P2SH: 0xc4 (196 decimal)
50
- * - WIF: 0xf1 (241 decimal)
51
- * - BIP32:
52
- * - public: 0x0432a9a8
53
- * - private: 0x0432a243
54
- * Message prefix:
55
- * - Same as mainnet: "\x19Dogecoin Signed Message:\n"
56
- */
57
- export declare const dogecoinTestnet: Network;
58
- /**
59
- * Litecoin mainnet configuration.
60
- */
61
- export declare const litecoin: Network;
62
- /**
63
- * Litecoin testnet configuration.
64
- */
65
- export declare const litecoinTestnet: Network;
66
- /**
67
- * Bitcoin Cash mainnet configuration (legacy).
68
- * Note: Bitcoin Cash uses Cashaddr starting with 'q' or 'p',
69
- * but we retain the legacy prefixes for compatibility.
70
- */
71
- export declare const bitcoinCash: Network;
72
- /**
73
- * Bitcoin Cash testnet configuration (legacy).
74
- */
75
- export declare const bitcoinCashTestnet: Network;
76
- /**
77
- * Dash mainnet configuration.
78
- */
79
- export declare const dash: Network;
80
- /**
81
- * Dash testnet configuration.
82
- */
83
- export declare const dashTestnet: Network;
@@ -1,49 +0,0 @@
1
- /// <reference types="node" />
2
- import { Tapleaf, Taptree } from '../types';
3
- export declare const LEAF_VERSION_TAPSCRIPT = 192;
4
- export declare const MAX_TAPTREE_DEPTH = 128;
5
- interface HashLeaf {
6
- hash: Buffer;
7
- }
8
- interface HashBranch {
9
- hash: Buffer;
10
- left: HashTree;
11
- right: HashTree;
12
- }
13
- interface TweakedPublicKey {
14
- parity: number;
15
- x: Buffer;
16
- }
17
- /**
18
- * Binary tree representing leaf, branch, and root node hashes of a Taptree.
19
- * Each node contains a hash, and potentially left and right branch hashes.
20
- * This tree is used for 2 purposes: Providing the root hash for tweaking,
21
- * and calculating merkle inclusion proofs when constructing a control block.
22
- */
23
- export type HashTree = HashLeaf | HashBranch;
24
- /**
25
- * Calculates the root hash from a given control block and leaf hash.
26
- * @param controlBlock - The control block buffer.
27
- * @param leafHash - The leaf hash buffer.
28
- * @returns The root hash buffer.
29
- * @throws {TypeError} If the control block length is less than 33.
30
- */
31
- export declare function rootHashFromPath(controlBlock: Buffer, leafHash: Buffer): Buffer;
32
- /**
33
- * Build a hash tree of merkle nodes from the scripts binary tree.
34
- * @param scriptTree - the tree of scripts to pairwise hash.
35
- */
36
- export declare function toHashTree(scriptTree: Taptree): HashTree;
37
- /**
38
- * Given a HashTree, finds the path from a particular hash to the root.
39
- * @param node - the root of the tree
40
- * @param hash - the hash to search for
41
- * @returns - array of sibling hashes, from leaf (inclusive) to root
42
- * (exclusive) needed to prove inclusion of the specified hash. undefined if no
43
- * path is found
44
- */
45
- export declare function findScriptPath(node: HashTree, hash: Buffer): Buffer[] | undefined;
46
- export declare function tapleafHash(leaf: Tapleaf): Buffer;
47
- export declare function tapTweakHash(pubKey: Buffer, h: Buffer | undefined): Buffer;
48
- export declare function tweakKey(pubKey: Buffer, h: Buffer | undefined): TweakedPublicKey | null;
49
- export {};
@@ -1,124 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.tweakKey =
4
- exports.tapTweakHash =
5
- exports.tapleafHash =
6
- exports.findScriptPath =
7
- exports.toHashTree =
8
- exports.rootHashFromPath =
9
- exports.MAX_TAPTREE_DEPTH =
10
- exports.LEAF_VERSION_TAPSCRIPT =
11
- void 0;
12
- const buffer_1 = require('buffer');
13
- const ecc_lib_1 = require('../ecc_lib');
14
- const bcrypto = require('../crypto');
15
- const bufferutils_1 = require('../bufferutils');
16
- const types_1 = require('../types');
17
- exports.LEAF_VERSION_TAPSCRIPT = 0xc0;
18
- exports.MAX_TAPTREE_DEPTH = 128;
19
- const isHashBranch = ht => 'left' in ht && 'right' in ht;
20
- /**
21
- * Calculates the root hash from a given control block and leaf hash.
22
- * @param controlBlock - The control block buffer.
23
- * @param leafHash - The leaf hash buffer.
24
- * @returns The root hash buffer.
25
- * @throws {TypeError} If the control block length is less than 33.
26
- */
27
- function rootHashFromPath(controlBlock, leafHash) {
28
- if (controlBlock.length < 33)
29
- throw new TypeError(
30
- `The control-block length is too small. Got ${controlBlock.length}, expected min 33.`,
31
- );
32
- const m = (controlBlock.length - 33) / 32;
33
- let kj = leafHash;
34
- for (let j = 0; j < m; j++) {
35
- const ej = controlBlock.slice(33 + 32 * j, 65 + 32 * j);
36
- if (kj.compare(ej) < 0) {
37
- kj = tapBranchHash(kj, ej);
38
- } else {
39
- kj = tapBranchHash(ej, kj);
40
- }
41
- }
42
- return kj;
43
- }
44
- exports.rootHashFromPath = rootHashFromPath;
45
- /**
46
- * Build a hash tree of merkle nodes from the scripts binary tree.
47
- * @param scriptTree - the tree of scripts to pairwise hash.
48
- */
49
- function toHashTree(scriptTree) {
50
- if ((0, types_1.isTapleaf)(scriptTree))
51
- return { hash: tapleafHash(scriptTree) };
52
- const hashes = [toHashTree(scriptTree[0]), toHashTree(scriptTree[1])];
53
- hashes.sort((a, b) => a.hash.compare(b.hash));
54
- const [left, right] = hashes;
55
- return {
56
- hash: tapBranchHash(left.hash, right.hash),
57
- left,
58
- right,
59
- };
60
- }
61
- exports.toHashTree = toHashTree;
62
- /**
63
- * Given a HashTree, finds the path from a particular hash to the root.
64
- * @param node - the root of the tree
65
- * @param hash - the hash to search for
66
- * @returns - array of sibling hashes, from leaf (inclusive) to root
67
- * (exclusive) needed to prove inclusion of the specified hash. undefined if no
68
- * path is found
69
- */
70
- function findScriptPath(node, hash) {
71
- if (isHashBranch(node)) {
72
- const leftPath = findScriptPath(node.left, hash);
73
- if (leftPath !== undefined) return [...leftPath, node.right.hash];
74
- const rightPath = findScriptPath(node.right, hash);
75
- if (rightPath !== undefined) return [...rightPath, node.left.hash];
76
- } else if (node.hash.equals(hash)) {
77
- return [];
78
- }
79
- return undefined;
80
- }
81
- exports.findScriptPath = findScriptPath;
82
- function tapleafHash(leaf) {
83
- const version = leaf.version || exports.LEAF_VERSION_TAPSCRIPT;
84
- return bcrypto.taggedHash(
85
- 'TapLeaf',
86
- buffer_1.Buffer.concat([
87
- buffer_1.Buffer.from([version]),
88
- serializeScript(leaf.output),
89
- ]),
90
- );
91
- }
92
- exports.tapleafHash = tapleafHash;
93
- function tapTweakHash(pubKey, h) {
94
- return bcrypto.taggedHash(
95
- 'TapTweak',
96
- buffer_1.Buffer.concat(h ? [pubKey, h] : [pubKey]),
97
- );
98
- }
99
- exports.tapTweakHash = tapTweakHash;
100
- function tweakKey(pubKey, h) {
101
- if (!buffer_1.Buffer.isBuffer(pubKey)) return null;
102
- if (pubKey.length !== 32) return null;
103
- if (h && h.length !== 32) return null;
104
- const tweakHash = tapTweakHash(pubKey, h);
105
- const res = (0, ecc_lib_1.getEccLib)().xOnlyPointAddTweak(
106
- pubKey,
107
- tweakHash,
108
- );
109
- if (!res || res.xOnlyPubkey === null) return null;
110
- return {
111
- parity: res.parity,
112
- x: buffer_1.Buffer.from(res.xOnlyPubkey),
113
- };
114
- }
115
- exports.tweakKey = tweakKey;
116
- function tapBranchHash(a, b) {
117
- return bcrypto.taggedHash('TapBranch', buffer_1.Buffer.concat([a, b]));
118
- }
119
- function serializeScript(s) {
120
- const varintLen = bufferutils_1.varuint.encodingLength(s.length);
121
- const buffer = buffer_1.Buffer.allocUnsafe(varintLen); // better
122
- bufferutils_1.varuint.encode(s.length, buffer);
123
- return buffer_1.Buffer.concat([buffer, s]);
124
- }
@@ -1,9 +0,0 @@
1
- import { Payment, PaymentOpts } from './index';
2
- /**
3
- * Embeds data in a Bitcoin payment.
4
- * @param a - The payment object.
5
- * @param opts - Optional payment options.
6
- * @returns The modified payment object.
7
- * @throws {TypeError} If there is not enough data or if the output is invalid.
8
- */
9
- export declare function p2data(a: Payment, opts?: PaymentOpts): Payment;
@@ -1,54 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.p2data = void 0;
4
- const networks_1 = require('../networks');
5
- const bscript = require('../script');
6
- const types_1 = require('../types');
7
- const lazy = require('./lazy');
8
- const OPS = bscript.OPS;
9
- // output: OP_RETURN ...
10
- /**
11
- * Embeds data in a Bitcoin payment.
12
- * @param a - The payment object.
13
- * @param opts - Optional payment options.
14
- * @returns The modified payment object.
15
- * @throws {TypeError} If there is not enough data or if the output is invalid.
16
- */
17
- function p2data(a, opts) {
18
- if (!a.data && !a.output) throw new TypeError('Not enough data');
19
- opts = Object.assign({ validate: true }, opts || {});
20
- (0, types_1.typeforce)(
21
- {
22
- network: types_1.typeforce.maybe(types_1.typeforce.Object),
23
- output: types_1.typeforce.maybe(types_1.typeforce.Buffer),
24
- data: types_1.typeforce.maybe(
25
- types_1.typeforce.arrayOf(types_1.typeforce.Buffer),
26
- ),
27
- },
28
- a,
29
- );
30
- const network = a.network || networks_1.bitcoin;
31
- const o = { name: 'embed', network };
32
- lazy.prop(o, 'output', () => {
33
- if (!a.data) return;
34
- return bscript.compile([OPS.OP_RETURN].concat(a.data));
35
- });
36
- lazy.prop(o, 'data', () => {
37
- if (!a.output) return;
38
- return bscript.decompile(a.output).slice(1);
39
- });
40
- // extended validation
41
- if (opts.validate) {
42
- if (a.output) {
43
- const chunks = bscript.decompile(a.output);
44
- if (chunks[0] !== OPS.OP_RETURN)
45
- throw new TypeError('Output is invalid');
46
- if (!chunks.slice(1).every(types_1.typeforce.Buffer))
47
- throw new TypeError('Output is invalid');
48
- if (a.data && !(0, types_1.stacksEqual)(a.data, o.data))
49
- throw new TypeError('Data mismatch');
50
- }
51
- }
52
- return Object.assign(o, a);
53
- }
54
- exports.p2data = p2data;
@@ -1,69 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.p2tr =
4
- exports.p2wsh =
5
- exports.p2wpkh =
6
- exports.p2sh =
7
- exports.p2pkh =
8
- exports.p2pk =
9
- exports.p2ms =
10
- exports.embed =
11
- void 0;
12
- const embed_1 = require('./embed');
13
- Object.defineProperty(exports, 'embed', {
14
- enumerable: true,
15
- get: function () {
16
- return embed_1.p2data;
17
- },
18
- });
19
- const p2ms_1 = require('./p2ms');
20
- Object.defineProperty(exports, 'p2ms', {
21
- enumerable: true,
22
- get: function () {
23
- return p2ms_1.p2ms;
24
- },
25
- });
26
- const p2pk_1 = require('./p2pk');
27
- Object.defineProperty(exports, 'p2pk', {
28
- enumerable: true,
29
- get: function () {
30
- return p2pk_1.p2pk;
31
- },
32
- });
33
- const p2pkh_1 = require('./p2pkh');
34
- Object.defineProperty(exports, 'p2pkh', {
35
- enumerable: true,
36
- get: function () {
37
- return p2pkh_1.p2pkh;
38
- },
39
- });
40
- const p2sh_1 = require('./p2sh');
41
- Object.defineProperty(exports, 'p2sh', {
42
- enumerable: true,
43
- get: function () {
44
- return p2sh_1.p2sh;
45
- },
46
- });
47
- const p2wpkh_1 = require('./p2wpkh');
48
- Object.defineProperty(exports, 'p2wpkh', {
49
- enumerable: true,
50
- get: function () {
51
- return p2wpkh_1.p2wpkh;
52
- },
53
- });
54
- const p2wsh_1 = require('./p2wsh');
55
- Object.defineProperty(exports, 'p2wsh', {
56
- enumerable: true,
57
- get: function () {
58
- return p2wsh_1.p2wsh;
59
- },
60
- });
61
- const p2tr_1 = require('./p2tr');
62
- Object.defineProperty(exports, 'p2tr', {
63
- enumerable: true,
64
- get: function () {
65
- return p2tr_1.p2tr;
66
- },
67
- });
68
- // TODO
69
- // witness commitment
@@ -1,9 +0,0 @@
1
- import { Payment, PaymentOpts } from './index';
2
- /**
3
- * Represents a function that creates a Pay-to-Multisig (P2MS) payment object.
4
- * @param a - The payment object.
5
- * @param opts - Optional payment options.
6
- * @returns The created payment object.
7
- * @throws {TypeError} If the provided data is not valid.
8
- */
9
- export declare function p2ms(a: Payment, opts?: PaymentOpts): Payment;
@@ -1,10 +0,0 @@
1
- import { Payment, PaymentOpts } from './index';
2
- /**
3
- * Creates a pay-to-public-key (P2PK) payment object.
4
- *
5
- * @param a - The payment object containing the necessary data.
6
- * @param opts - Optional payment options.
7
- * @returns The P2PK payment object.
8
- * @throws {TypeError} If the required data is not provided or if the data is invalid.
9
- */
10
- export declare function p2pk(a: Payment, opts?: PaymentOpts): Payment;
@@ -1,10 +0,0 @@
1
- import { Payment, PaymentOpts } from './index';
2
- /**
3
- * Creates a Pay-to-Public-Key-Hash (P2PKH) payment object.
4
- *
5
- * @param a - The payment object containing the necessary data.
6
- * @param opts - Optional payment options.
7
- * @returns The P2PKH payment object.
8
- * @throws {TypeError} If the required data is not provided or if the data is invalid.
9
- */
10
- export declare function p2pkh(a: Payment, opts?: PaymentOpts): Payment;