@bsv/sdk 1.0.0

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 (464) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +40 -0
  2. package/.github/ISSUE_TEMPLATE/discussion.md +24 -0
  3. package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +23 -0
  4. package/CHANGELOG.md +72 -0
  5. package/CONTRIBUTING.md +85 -0
  6. package/LICENSE.txt +28 -0
  7. package/README.md +87 -0
  8. package/ROADMAP.md +3 -0
  9. package/dist/cjs/mod.js +25 -0
  10. package/dist/cjs/mod.js.map +1 -0
  11. package/dist/cjs/package.json +42 -0
  12. package/dist/cjs/src/compat/BIP39.js +272 -0
  13. package/dist/cjs/src/compat/BIP39.js.map +1 -0
  14. package/dist/cjs/src/compat/BSM.js +77 -0
  15. package/dist/cjs/src/compat/BSM.js.map +1 -0
  16. package/dist/cjs/src/compat/ECIES.js +483 -0
  17. package/dist/cjs/src/compat/ECIES.js.map +1 -0
  18. package/dist/cjs/src/compat/HD.js +326 -0
  19. package/dist/cjs/src/compat/HD.js.map +1 -0
  20. package/dist/cjs/src/compat/Mnemonic.js +298 -0
  21. package/dist/cjs/src/compat/Mnemonic.js.map +1 -0
  22. package/dist/cjs/src/compat/bip-39-wordlist-en.js +2057 -0
  23. package/dist/cjs/src/compat/bip-39-wordlist-en.js.map +1 -0
  24. package/dist/cjs/src/compat/index.js +37 -0
  25. package/dist/cjs/src/compat/index.js.map +1 -0
  26. package/dist/cjs/src/messages/EncryptedMessage.js +69 -0
  27. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -0
  28. package/dist/cjs/src/messages/SignedMessage.js +85 -0
  29. package/dist/cjs/src/messages/SignedMessage.js.map +1 -0
  30. package/dist/cjs/src/messages/index.js +29 -0
  31. package/dist/cjs/src/messages/index.js.map +1 -0
  32. package/dist/cjs/src/primitives/AESGCM.js +384 -0
  33. package/dist/cjs/src/primitives/AESGCM.js.map +1 -0
  34. package/dist/cjs/src/primitives/BasePoint.js +19 -0
  35. package/dist/cjs/src/primitives/BasePoint.js.map +1 -0
  36. package/dist/cjs/src/primitives/BigNumber.js +4269 -0
  37. package/dist/cjs/src/primitives/BigNumber.js.map +1 -0
  38. package/dist/cjs/src/primitives/Curve.js +1126 -0
  39. package/dist/cjs/src/primitives/Curve.js.map +1 -0
  40. package/dist/cjs/src/primitives/DRBG.js +99 -0
  41. package/dist/cjs/src/primitives/DRBG.js.map +1 -0
  42. package/dist/cjs/src/primitives/ECDSA.js +169 -0
  43. package/dist/cjs/src/primitives/ECDSA.js.map +1 -0
  44. package/dist/cjs/src/primitives/Hash.js +1332 -0
  45. package/dist/cjs/src/primitives/Hash.js.map +1 -0
  46. package/dist/cjs/src/primitives/JacobianPoint.js +400 -0
  47. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -0
  48. package/dist/cjs/src/primitives/K256.js +111 -0
  49. package/dist/cjs/src/primitives/K256.js.map +1 -0
  50. package/dist/cjs/src/primitives/Mersenne.js +118 -0
  51. package/dist/cjs/src/primitives/Mersenne.js.map +1 -0
  52. package/dist/cjs/src/primitives/MontgomoryMethod.js +150 -0
  53. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -0
  54. package/dist/cjs/src/primitives/Point.js +819 -0
  55. package/dist/cjs/src/primitives/Point.js.map +1 -0
  56. package/dist/cjs/src/primitives/PrivateKey.js +190 -0
  57. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -0
  58. package/dist/cjs/src/primitives/PublicKey.js +151 -0
  59. package/dist/cjs/src/primitives/PublicKey.js.map +1 -0
  60. package/dist/cjs/src/primitives/Random.js +57 -0
  61. package/dist/cjs/src/primitives/Random.js.map +1 -0
  62. package/dist/cjs/src/primitives/ReductionContext.js +490 -0
  63. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -0
  64. package/dist/cjs/src/primitives/Signature.js +220 -0
  65. package/dist/cjs/src/primitives/Signature.js.map +1 -0
  66. package/dist/cjs/src/primitives/SymmetricKey.js +69 -0
  67. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -0
  68. package/dist/cjs/src/primitives/TransactionSignature.js +172 -0
  69. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -0
  70. package/dist/cjs/src/primitives/index.js +45 -0
  71. package/dist/cjs/src/primitives/index.js.map +1 -0
  72. package/dist/cjs/src/primitives/utils.js +615 -0
  73. package/dist/cjs/src/primitives/utils.js.map +1 -0
  74. package/dist/cjs/src/script/LockingScript.js +35 -0
  75. package/dist/cjs/src/script/LockingScript.js.map +1 -0
  76. package/dist/cjs/src/script/OP.js +208 -0
  77. package/dist/cjs/src/script/OP.js.map +1 -0
  78. package/dist/cjs/src/script/Script.js +429 -0
  79. package/dist/cjs/src/script/Script.js.map +1 -0
  80. package/dist/cjs/src/script/ScriptChunk.js +3 -0
  81. package/dist/cjs/src/script/ScriptChunk.js.map +1 -0
  82. package/dist/cjs/src/script/ScriptTemplate.js +3 -0
  83. package/dist/cjs/src/script/ScriptTemplate.js.map +1 -0
  84. package/dist/cjs/src/script/Spend.js +1252 -0
  85. package/dist/cjs/src/script/Spend.js.map +1 -0
  86. package/dist/cjs/src/script/UnlockingScript.js +35 -0
  87. package/dist/cjs/src/script/UnlockingScript.js.map +1 -0
  88. package/dist/cjs/src/script/index.js +32 -0
  89. package/dist/cjs/src/script/index.js.map +1 -0
  90. package/dist/cjs/src/script/templates/P2PKH.js +98 -0
  91. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -0
  92. package/dist/cjs/src/script/templates/RPuzzle.js +125 -0
  93. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -0
  94. package/dist/cjs/src/script/templates/index.js +11 -0
  95. package/dist/cjs/src/script/templates/index.js.map +1 -0
  96. package/dist/cjs/src/transaction/Broadcaster.js +3 -0
  97. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -0
  98. package/dist/cjs/src/transaction/ChainTracker.js +3 -0
  99. package/dist/cjs/src/transaction/ChainTracker.js.map +1 -0
  100. package/dist/cjs/src/transaction/FeeModel.js +3 -0
  101. package/dist/cjs/src/transaction/FeeModel.js.map +1 -0
  102. package/dist/cjs/src/transaction/MerklePath.js +239 -0
  103. package/dist/cjs/src/transaction/MerklePath.js.map +1 -0
  104. package/dist/cjs/src/transaction/Transaction.js +557 -0
  105. package/dist/cjs/src/transaction/Transaction.js.map +1 -0
  106. package/dist/cjs/src/transaction/TransactionInput.js +3 -0
  107. package/dist/cjs/src/transaction/TransactionInput.js.map +1 -0
  108. package/dist/cjs/src/transaction/TransactionOutput.js +3 -0
  109. package/dist/cjs/src/transaction/TransactionOutput.js.map +1 -0
  110. package/dist/cjs/src/transaction/broadcasters/ARC.js +101 -0
  111. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -0
  112. package/dist/cjs/src/transaction/broadcasters/index.js +9 -0
  113. package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -0
  114. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +69 -0
  115. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -0
  116. package/dist/cjs/src/transaction/fee-models/index.js +9 -0
  117. package/dist/cjs/src/transaction/fee-models/index.js.map +1 -0
  118. package/dist/cjs/src/transaction/index.js +11 -0
  119. package/dist/cjs/src/transaction/index.js.map +1 -0
  120. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  121. package/dist/esm/mod.js +9 -0
  122. package/dist/esm/mod.js.map +1 -0
  123. package/dist/esm/src/compat/BIP39.js +272 -0
  124. package/dist/esm/src/compat/BIP39.js.map +1 -0
  125. package/dist/esm/src/compat/BSM.js +45 -0
  126. package/dist/esm/src/compat/BSM.js.map +1 -0
  127. package/dist/esm/src/compat/ECIES.js +454 -0
  128. package/dist/esm/src/compat/ECIES.js.map +1 -0
  129. package/dist/esm/src/compat/HD.js +304 -0
  130. package/dist/esm/src/compat/HD.js.map +1 -0
  131. package/dist/esm/src/compat/Mnemonic.js +272 -0
  132. package/dist/esm/src/compat/Mnemonic.js.map +1 -0
  133. package/dist/esm/src/compat/bip-39-wordlist-en.js +2054 -0
  134. package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -0
  135. package/dist/esm/src/compat/index.js +5 -0
  136. package/dist/esm/src/compat/index.js.map +1 -0
  137. package/dist/esm/src/messages/EncryptedMessage.js +61 -0
  138. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -0
  139. package/dist/esm/src/messages/SignedMessage.js +77 -0
  140. package/dist/esm/src/messages/SignedMessage.js.map +1 -0
  141. package/dist/esm/src/messages/index.js +3 -0
  142. package/dist/esm/src/messages/index.js.map +1 -0
  143. package/dist/esm/src/primitives/AESGCM.js +371 -0
  144. package/dist/esm/src/primitives/AESGCM.js.map +1 -0
  145. package/dist/esm/src/primitives/BasePoint.js +16 -0
  146. package/dist/esm/src/primitives/BasePoint.js.map +1 -0
  147. package/dist/esm/src/primitives/BigNumber.js +4304 -0
  148. package/dist/esm/src/primitives/BigNumber.js.map +1 -0
  149. package/dist/esm/src/primitives/Curve.js +1141 -0
  150. package/dist/esm/src/primitives/Curve.js.map +1 -0
  151. package/dist/esm/src/primitives/DRBG.js +98 -0
  152. package/dist/esm/src/primitives/DRBG.js.map +1 -0
  153. package/dist/esm/src/primitives/ECDSA.js +161 -0
  154. package/dist/esm/src/primitives/ECDSA.js.map +1 -0
  155. package/dist/esm/src/primitives/Hash.js +1336 -0
  156. package/dist/esm/src/primitives/Hash.js.map +1 -0
  157. package/dist/esm/src/primitives/JacobianPoint.js +398 -0
  158. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -0
  159. package/dist/esm/src/primitives/K256.js +105 -0
  160. package/dist/esm/src/primitives/K256.js.map +1 -0
  161. package/dist/esm/src/primitives/Mersenne.js +117 -0
  162. package/dist/esm/src/primitives/Mersenne.js.map +1 -0
  163. package/dist/esm/src/primitives/MontgomoryMethod.js +149 -0
  164. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -0
  165. package/dist/esm/src/primitives/Point.js +816 -0
  166. package/dist/esm/src/primitives/Point.js.map +1 -0
  167. package/dist/esm/src/primitives/PrivateKey.js +184 -0
  168. package/dist/esm/src/primitives/PrivateKey.js.map +1 -0
  169. package/dist/esm/src/primitives/PublicKey.js +145 -0
  170. package/dist/esm/src/primitives/PublicKey.js.map +1 -0
  171. package/dist/esm/src/primitives/Random.js +56 -0
  172. package/dist/esm/src/primitives/Random.js.map +1 -0
  173. package/dist/esm/src/primitives/ReductionContext.js +486 -0
  174. package/dist/esm/src/primitives/ReductionContext.js.map +1 -0
  175. package/dist/esm/src/primitives/Signature.js +223 -0
  176. package/dist/esm/src/primitives/Signature.js.map +1 -0
  177. package/dist/esm/src/primitives/SymmetricKey.js +63 -0
  178. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -0
  179. package/dist/esm/src/primitives/TransactionSignature.js +144 -0
  180. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -0
  181. package/dist/esm/src/primitives/index.js +9 -0
  182. package/dist/esm/src/primitives/index.js.map +1 -0
  183. package/dist/esm/src/primitives/utils.js +601 -0
  184. package/dist/esm/src/primitives/utils.js.map +1 -0
  185. package/dist/esm/src/script/LockingScript.js +29 -0
  186. package/dist/esm/src/script/LockingScript.js.map +1 -0
  187. package/dist/esm/src/script/OP.js +206 -0
  188. package/dist/esm/src/script/OP.js.map +1 -0
  189. package/dist/esm/src/script/Script.js +424 -0
  190. package/dist/esm/src/script/Script.js.map +1 -0
  191. package/dist/esm/src/script/ScriptChunk.js +2 -0
  192. package/dist/esm/src/script/ScriptChunk.js.map +1 -0
  193. package/dist/esm/src/script/ScriptTemplate.js +2 -0
  194. package/dist/esm/src/script/ScriptTemplate.js.map +1 -0
  195. package/dist/esm/src/script/Spend.js +1240 -0
  196. package/dist/esm/src/script/Spend.js.map +1 -0
  197. package/dist/esm/src/script/UnlockingScript.js +29 -0
  198. package/dist/esm/src/script/UnlockingScript.js.map +1 -0
  199. package/dist/esm/src/script/index.js +7 -0
  200. package/dist/esm/src/script/index.js.map +1 -0
  201. package/dist/esm/src/script/templates/P2PKH.js +92 -0
  202. package/dist/esm/src/script/templates/P2PKH.js.map +1 -0
  203. package/dist/esm/src/script/templates/RPuzzle.js +119 -0
  204. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -0
  205. package/dist/esm/src/script/templates/index.js +3 -0
  206. package/dist/esm/src/script/templates/index.js.map +1 -0
  207. package/dist/esm/src/transaction/Broadcaster.js +2 -0
  208. package/dist/esm/src/transaction/Broadcaster.js.map +1 -0
  209. package/dist/esm/src/transaction/ChainTracker.js +2 -0
  210. package/dist/esm/src/transaction/ChainTracker.js.map +1 -0
  211. package/dist/esm/src/transaction/FeeModel.js +2 -0
  212. package/dist/esm/src/transaction/FeeModel.js.map +1 -0
  213. package/dist/esm/src/transaction/MerklePath.js +237 -0
  214. package/dist/esm/src/transaction/MerklePath.js.map +1 -0
  215. package/dist/esm/src/transaction/Transaction.js +557 -0
  216. package/dist/esm/src/transaction/Transaction.js.map +1 -0
  217. package/dist/esm/src/transaction/TransactionInput.js +2 -0
  218. package/dist/esm/src/transaction/TransactionInput.js.map +1 -0
  219. package/dist/esm/src/transaction/TransactionOutput.js +2 -0
  220. package/dist/esm/src/transaction/TransactionOutput.js.map +1 -0
  221. package/dist/esm/src/transaction/broadcasters/ARC.js +100 -0
  222. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -0
  223. package/dist/esm/src/transaction/broadcasters/index.js +2 -0
  224. package/dist/esm/src/transaction/broadcasters/index.js.map +1 -0
  225. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +71 -0
  226. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -0
  227. package/dist/esm/src/transaction/fee-models/index.js +2 -0
  228. package/dist/esm/src/transaction/fee-models/index.js.map +1 -0
  229. package/dist/esm/src/transaction/index.js +3 -0
  230. package/dist/esm/src/transaction/index.js.map +1 -0
  231. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  232. package/dist/types/mod.d.ts +9 -0
  233. package/dist/types/mod.d.ts.map +1 -0
  234. package/dist/types/src/compat/BIP39.d.ts +132 -0
  235. package/dist/types/src/compat/BIP39.d.ts.map +1 -0
  236. package/dist/types/src/compat/BSM.d.ts +28 -0
  237. package/dist/types/src/compat/BSM.d.ts.map +1 -0
  238. package/dist/types/src/compat/ECIES.d.ts +62 -0
  239. package/dist/types/src/compat/ECIES.d.ts.map +1 -0
  240. package/dist/types/src/compat/HD.d.ts +117 -0
  241. package/dist/types/src/compat/HD.d.ts.map +1 -0
  242. package/dist/types/src/compat/Mnemonic.d.ts +132 -0
  243. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -0
  244. package/dist/types/src/compat/bip-39-wordlist-en.d.ts +5 -0
  245. package/dist/types/src/compat/bip-39-wordlist-en.d.ts.map +1 -0
  246. package/dist/types/src/compat/index.d.ts +5 -0
  247. package/dist/types/src/compat/index.d.ts.map +1 -0
  248. package/dist/types/src/messages/EncryptedMessage.d.ts +20 -0
  249. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -0
  250. package/dist/types/src/messages/SignedMessage.d.ts +21 -0
  251. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -0
  252. package/dist/types/src/messages/index.d.ts +3 -0
  253. package/dist/types/src/messages/index.d.ts.map +1 -0
  254. package/dist/types/src/primitives/AESGCM.d.ts +14 -0
  255. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -0
  256. package/dist/types/src/primitives/BasePoint.d.ts +22 -0
  257. package/dist/types/src/primitives/BasePoint.d.ts.map +1 -0
  258. package/dist/types/src/primitives/BigNumber.d.ts +1895 -0
  259. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -0
  260. package/dist/types/src/primitives/Curve.d.ts +55 -0
  261. package/dist/types/src/primitives/Curve.d.ts.map +1 -0
  262. package/dist/types/src/primitives/DRBG.d.ts +54 -0
  263. package/dist/types/src/primitives/DRBG.d.ts.map +1 -0
  264. package/dist/types/src/primitives/ECDSA.d.ts +39 -0
  265. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -0
  266. package/dist/types/src/primitives/Hash.d.ts +411 -0
  267. package/dist/types/src/primitives/Hash.d.ts.map +1 -0
  268. package/dist/types/src/primitives/JacobianPoint.d.ts +164 -0
  269. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -0
  270. package/dist/types/src/primitives/K256.d.ts +53 -0
  271. package/dist/types/src/primitives/K256.d.ts.map +1 -0
  272. package/dist/types/src/primitives/Mersenne.d.ts +72 -0
  273. package/dist/types/src/primitives/Mersenne.d.ts.map +1 -0
  274. package/dist/types/src/primitives/MontgomoryMethod.d.ts +96 -0
  275. package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -0
  276. package/dist/types/src/primitives/Point.d.ts +303 -0
  277. package/dist/types/src/primitives/Point.d.ts.map +1 -0
  278. package/dist/types/src/primitives/PrivateKey.d.ts +143 -0
  279. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -0
  280. package/dist/types/src/primitives/PublicKey.d.ts +108 -0
  281. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -0
  282. package/dist/types/src/primitives/Random.d.ts +14 -0
  283. package/dist/types/src/primitives/Random.d.ts.map +1 -0
  284. package/dist/types/src/primitives/ReductionContext.d.ts +308 -0
  285. package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -0
  286. package/dist/types/src/primitives/Signature.d.ts +100 -0
  287. package/dist/types/src/primitives/Signature.d.ts.map +1 -0
  288. package/dist/types/src/primitives/SymmetricKey.d.ts +44 -0
  289. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -0
  290. package/dist/types/src/primitives/TransactionSignature.d.ts +36 -0
  291. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -0
  292. package/dist/types/src/primitives/index.d.ts +9 -0
  293. package/dist/types/src/primitives/index.d.ts.map +1 -0
  294. package/dist/types/src/primitives/utils.d.ts +118 -0
  295. package/dist/types/src/primitives/utils.d.ts.map +1 -0
  296. package/dist/types/src/script/LockingScript.d.ts +25 -0
  297. package/dist/types/src/script/LockingScript.d.ts.map +1 -0
  298. package/dist/types/src/script/OP.d.ts +193 -0
  299. package/dist/types/src/script/OP.d.ts.map +1 -0
  300. package/dist/types/src/script/Script.d.ts +148 -0
  301. package/dist/types/src/script/Script.d.ts.map +1 -0
  302. package/dist/types/src/script/ScriptChunk.d.ts +8 -0
  303. package/dist/types/src/script/ScriptChunk.d.ts.map +1 -0
  304. package/dist/types/src/script/ScriptTemplate.d.ts +33 -0
  305. package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -0
  306. package/dist/types/src/script/Spend.d.ts +103 -0
  307. package/dist/types/src/script/Spend.d.ts.map +1 -0
  308. package/dist/types/src/script/UnlockingScript.d.ts +25 -0
  309. package/dist/types/src/script/UnlockingScript.d.ts.map +1 -0
  310. package/dist/types/src/script/index.d.ts +8 -0
  311. package/dist/types/src/script/index.d.ts.map +1 -0
  312. package/dist/types/src/script/templates/P2PKH.d.ts +37 -0
  313. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -0
  314. package/dist/types/src/script/templates/RPuzzle.d.ts +47 -0
  315. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -0
  316. package/dist/types/src/script/templates/index.d.ts +3 -0
  317. package/dist/types/src/script/templates/index.d.ts.map +1 -0
  318. package/dist/types/src/transaction/Broadcaster.d.ts +39 -0
  319. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -0
  320. package/dist/types/src/transaction/ChainTracker.d.ts +23 -0
  321. package/dist/types/src/transaction/ChainTracker.d.ts.map +1 -0
  322. package/dist/types/src/transaction/FeeModel.d.ts +12 -0
  323. package/dist/types/src/transaction/FeeModel.d.ts.map +1 -0
  324. package/dist/types/src/transaction/MerklePath.d.ts +91 -0
  325. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -0
  326. package/dist/types/src/transaction/Transaction.d.ts +181 -0
  327. package/dist/types/src/transaction/Transaction.d.ts.map +1 -0
  328. package/dist/types/src/transaction/TransactionInput.d.ts +63 -0
  329. package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -0
  330. package/dist/types/src/transaction/TransactionOutput.d.ts +36 -0
  331. package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -0
  332. package/dist/types/src/transaction/broadcasters/ARC.d.ts +28 -0
  333. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -0
  334. package/dist/types/src/transaction/broadcasters/index.d.ts +2 -0
  335. package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -0
  336. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +26 -0
  337. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -0
  338. package/dist/types/src/transaction/fee-models/index.d.ts +2 -0
  339. package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -0
  340. package/dist/types/src/transaction/index.d.ts +7 -0
  341. package/dist/types/src/transaction/index.d.ts.map +1 -0
  342. package/dist/types/tsconfig.types.tsbuildinfo +1 -0
  343. package/docs/README.md +9 -0
  344. package/docs/compat.md +2856 -0
  345. package/docs/getting-started/COMMONJS.md +94 -0
  346. package/docs/getting-started/REACT-TS.md +131 -0
  347. package/docs/getting-started/TS-NODE.md +106 -0
  348. package/docs/getting-started/VUE.md +103 -0
  349. package/docs/messages.md +146 -0
  350. package/docs/primitives.md +7440 -0
  351. package/docs/script.md +766 -0
  352. package/docs/transaction.md +741 -0
  353. package/jest.config.js +6 -0
  354. package/mod.ts +8 -0
  355. package/package.json +137 -0
  356. package/src/compat/BSM.ts +51 -0
  357. package/src/compat/ECIES.ts +557 -0
  358. package/src/compat/HD.ts +348 -0
  359. package/src/compat/Mnemonic.ts +295 -0
  360. package/src/compat/__tests/BSM.test.ts +38 -0
  361. package/src/compat/__tests/ECIES.test.ts +90 -0
  362. package/src/compat/__tests/HD.test.ts +405 -0
  363. package/src/compat/__tests/Mnemonic.test.ts +177 -0
  364. package/src/compat/__tests/Mnemonic.vectors.ts +172 -0
  365. package/src/compat/bip-39-wordlist-en.ts +2053 -0
  366. package/src/compat/index.ts +4 -0
  367. package/src/messages/EncryptedMessage.ts +70 -0
  368. package/src/messages/SignedMessage.ts +87 -0
  369. package/src/messages/__tests/EncryptedMessage.test.ts +36 -0
  370. package/src/messages/__tests/SignedMessage.test.ts +53 -0
  371. package/src/messages/index.ts +2 -0
  372. package/src/primitives/AESGCM.ts +479 -0
  373. package/src/primitives/BasePoint.ts +21 -0
  374. package/src/primitives/BigNumber.ts +4619 -0
  375. package/src/primitives/Curve.ts +1163 -0
  376. package/src/primitives/DRBG.ts +102 -0
  377. package/src/primitives/ECDSA.ts +164 -0
  378. package/src/primitives/Hash.ts +1420 -0
  379. package/src/primitives/JacobianPoint.ts +410 -0
  380. package/src/primitives/K256.ts +116 -0
  381. package/src/primitives/Mersenne.ts +123 -0
  382. package/src/primitives/MontgomoryMethod.ts +160 -0
  383. package/src/primitives/Point.ts +852 -0
  384. package/src/primitives/PrivateKey.ts +195 -0
  385. package/src/primitives/PublicKey.ts +154 -0
  386. package/src/primitives/Random.ts +55 -0
  387. package/src/primitives/ReductionContext.ts +528 -0
  388. package/src/primitives/Signature.ts +235 -0
  389. package/src/primitives/SymmetricKey.ts +75 -0
  390. package/src/primitives/TransactionSignature.ts +189 -0
  391. package/src/primitives/__tests/AESGCM.test.ts +338 -0
  392. package/src/primitives/__tests/BRC42.private.vectors.ts +33 -0
  393. package/src/primitives/__tests/BRC42.public.vectors.ts +33 -0
  394. package/src/primitives/__tests/BigNumber.arithmatic.test.ts +572 -0
  395. package/src/primitives/__tests/BigNumber.binary.test.ts +203 -0
  396. package/src/primitives/__tests/BigNumber.constructor.test.ts +176 -0
  397. package/src/primitives/__tests/BigNumber.dhGroup.test.ts +18 -0
  398. package/src/primitives/__tests/BigNumber.fixtures.ts +264 -0
  399. package/src/primitives/__tests/BigNumber.serializers.test.ts +157 -0
  400. package/src/primitives/__tests/BigNumber.utils.test.ts +347 -0
  401. package/src/primitives/__tests/Curve.unit.test.ts +192 -0
  402. package/src/primitives/__tests/DRBG.test.ts +18 -0
  403. package/src/primitives/__tests/DRBG.vectors.ts +167 -0
  404. package/src/primitives/__tests/ECDH.test.ts +31 -0
  405. package/src/primitives/__tests/ECDSA.test.ts +58 -0
  406. package/src/primitives/__tests/HMAC.test.ts +59 -0
  407. package/src/primitives/__tests/Hash.test.ts +121 -0
  408. package/src/primitives/__tests/PBKDF2.vectors.ts +119 -0
  409. package/src/primitives/__tests/PrivateKey.test.ts +17 -0
  410. package/src/primitives/__tests/PublicKey.test.ts +66 -0
  411. package/src/primitives/__tests/Random.test.ts +14 -0
  412. package/src/primitives/__tests/Reader.test.ts +296 -0
  413. package/src/primitives/__tests/ReductionContext.test.ts +279 -0
  414. package/src/primitives/__tests/SymmetricKey.test.ts +58 -0
  415. package/src/primitives/__tests/SymmetricKey.vectors.ts +40 -0
  416. package/src/primitives/__tests/Writer.test.ts +198 -0
  417. package/src/primitives/__tests/sighash.vectors.ts +3503 -0
  418. package/src/primitives/__tests/utils.test.ts +108 -0
  419. package/src/primitives/index.ts +8 -0
  420. package/src/primitives/utils.ts +665 -0
  421. package/src/script/LockingScript.ts +30 -0
  422. package/src/script/OP.ts +219 -0
  423. package/src/script/Script.ts +426 -0
  424. package/src/script/ScriptChunk.ts +7 -0
  425. package/src/script/ScriptTemplate.ts +36 -0
  426. package/src/script/Spend.ts +1379 -0
  427. package/src/script/UnlockingScript.ts +30 -0
  428. package/src/script/__tests/Script.test.ts +369 -0
  429. package/src/script/__tests/Spend.test.ts +248 -0
  430. package/src/script/__tests/script.invalid.vectors.ts +925 -0
  431. package/src/script/__tests/script.valid.vectors.ts +1120 -0
  432. package/src/script/__tests/scriptFromVector.ts +42 -0
  433. package/src/script/__tests/spend.valid.vectors.ts +2288 -0
  434. package/src/script/index.ts +7 -0
  435. package/src/script/templates/P2PKH.ts +109 -0
  436. package/src/script/templates/RPuzzle.ts +140 -0
  437. package/src/script/templates/index.ts +2 -0
  438. package/src/transaction/Broadcaster.ts +42 -0
  439. package/src/transaction/ChainTracker.ts +22 -0
  440. package/src/transaction/FeeModel.ts +13 -0
  441. package/src/transaction/MerklePath.ts +259 -0
  442. package/src/transaction/Transaction.ts +602 -0
  443. package/src/transaction/TransactionInput.ts +63 -0
  444. package/src/transaction/TransactionOutput.ts +37 -0
  445. package/src/transaction/__tests/MerklePath.test.ts +181 -0
  446. package/src/transaction/__tests/Transaction.test.ts +413 -0
  447. package/src/transaction/__tests/bigtx.vectors.ts +4 -0
  448. package/src/transaction/__tests/bump.invalid.vectors.ts +8 -0
  449. package/src/transaction/__tests/bump.valid.vectors.ts +4 -0
  450. package/src/transaction/__tests/tx.invalid.vectors.ts +281 -0
  451. package/src/transaction/__tests/tx.valid.vectors.ts +364 -0
  452. package/src/transaction/broadcasters/ARC.ts +106 -0
  453. package/src/transaction/broadcasters/__tests/ARC.test.ts +115 -0
  454. package/src/transaction/broadcasters/index.ts +1 -0
  455. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +71 -0
  456. package/src/transaction/fee-models/index.ts +1 -0
  457. package/src/transaction/index.ts +6 -0
  458. package/ts2md.json +5 -0
  459. package/tsconfig.base.json +26 -0
  460. package/tsconfig.cjs.json +11 -0
  461. package/tsconfig.eslint.json +12 -0
  462. package/tsconfig.esm.json +9 -0
  463. package/tsconfig.json +17 -0
  464. package/tsconfig.types.json +11 -0
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Represents an ARC transaction broadcaster.
3
+ */
4
+ export default class ARC {
5
+ URL;
6
+ apiKey;
7
+ /**
8
+ * Constructs an instance of the ARC broadcaster.
9
+ *
10
+ * @param {string} URL - The URL endpoint for the ARC API.
11
+ * @param {string} apiKey - The API key used for authorization with the ARC API.
12
+ */
13
+ constructor(URL, apiKey) {
14
+ this.URL = URL;
15
+ this.apiKey = apiKey;
16
+ }
17
+ /**
18
+ * Broadcasts a transaction via ARC.
19
+ * This method will attempt to use `window.fetch` if available (in browser environments).
20
+ * If running in a Node.js environment, it falls back to using the Node.js `https` module.
21
+ *
22
+ * @param {Transaction} tx - The transaction to be broadcasted.
23
+ * @returns {Promise<BroadcastResponse | BroadcastFailure>} A promise that resolves to either a success or failure response.
24
+ */
25
+ async broadcast(tx) {
26
+ const txHex = tx.toHex();
27
+ const requestOptions = {
28
+ method: 'POST',
29
+ headers: {
30
+ 'Content-Type': 'application/json',
31
+ Authorization: `Bearer ${this.apiKey}`
32
+ },
33
+ body: JSON.stringify({ rawTx: txHex })
34
+ };
35
+ try {
36
+ let response;
37
+ let data = {};
38
+ if (typeof window !== 'undefined' && typeof window.fetch === 'function') {
39
+ // Use fetch in a browser environment
40
+ response = await window.fetch(`${this.URL}/v1/tx`, requestOptions);
41
+ data = await response.json();
42
+ }
43
+ else if (typeof require !== 'undefined') {
44
+ // Use Node.js https module
45
+ // eslint-disable-next-line
46
+ const https = require('https');
47
+ response = await this.nodeFetch(https, requestOptions);
48
+ data = JSON.parse(response);
49
+ }
50
+ else {
51
+ throw new Error('No method available to perform HTTP request');
52
+ }
53
+ if (data.txid || response.ok || response.statusCode === 200) {
54
+ return {
55
+ status: 'success',
56
+ txid: data.txid,
57
+ message: data?.txStatus + ' ' + data?.extraInfo
58
+ };
59
+ }
60
+ else {
61
+ return {
62
+ status: 'error',
63
+ code: data.status ? data.status : 'ERR_UNKNOWN',
64
+ description: data.detail ? data.detail : 'Unknown error'
65
+ };
66
+ }
67
+ }
68
+ catch (error) {
69
+ return {
70
+ status: 'error',
71
+ code: '500',
72
+ description: typeof error.message === 'string'
73
+ ? error.message
74
+ : 'Internal Server Error'
75
+ };
76
+ }
77
+ }
78
+ /** Helper function for Node.js HTTPS requests */
79
+ async nodeFetch(https, requestOptions) {
80
+ return await new Promise((resolve, reject) => {
81
+ const req = https.request(`${this.URL}/v1/tx`, requestOptions, res => {
82
+ let data = '';
83
+ res.on('data', (chunk) => {
84
+ data += chunk;
85
+ });
86
+ res.on('end', () => {
87
+ resolve(data);
88
+ });
89
+ });
90
+ req.on('error', error => {
91
+ reject(error);
92
+ });
93
+ if (requestOptions.body) {
94
+ req.write(requestOptions.body);
95
+ }
96
+ req.end();
97
+ });
98
+ }
99
+ }
100
+ //# sourceMappingURL=ARC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ARC.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/ARC.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,GAAG,CAAQ;IACX,MAAM,CAAQ;IAEd;;;;;OAKG;IACH,YAAa,GAAW,EAAE,MAAc;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAE,EAAe;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;QACxB,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SACvC,CAAA;QAED,IAAI;YACF,IAAI,QAAQ,CAAA;YACZ,IAAI,IAAI,GAAQ,EAAE,CAAA;YAElB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE;gBACvE,qCAAqC;gBACrC,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,QAAQ,EAAE,cAAc,CAAC,CAAA;gBAClE,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;aAC7B;iBAAM,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;gBACzC,2BAA2B;gBAC3B,2BAA2B;gBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC9B,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;gBACtD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;aAC5B;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;aAC/D;YAED,IAAI,IAAI,CAAC,IAAe,IAAI,QAAQ,CAAC,EAAa,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;gBACjF,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,EAAE,SAAS;iBAChD,CAAA;aACF;iBAAM;gBACL,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,IAAI,CAAC,MAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;oBAC1D,WAAW,EAAE,IAAI,CAAC,MAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe;iBACpE,CAAA;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAC5C,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,uBAAuB;aAC5B,CAAA;SACF;IACH,CAAC;IAED,iDAAiD;IACzC,KAAK,CAAC,SAAS,CAAE,KAAK,EAAE,cAAc;QAC5C,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,QAAQ,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE;gBACnE,IAAI,IAAI,GAAG,EAAE,CAAA;gBACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC/B,IAAI,IAAI,KAAK,CAAA;gBACf,CAAC,CAAC,CAAA;gBACF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,OAAO,CAAC,IAAI,CAAC,CAAA;gBACf,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBACtB,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,IAAI,cAAc,CAAC,IAAe,EAAE;gBAClC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;aAC/B;YACD,GAAG,CAAC,GAAG,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { default as ARC } from './ARC.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Represents the "satoshis per kilobyte" transaction fee model.
3
+ */
4
+ export default class SatoshisPerKilobyte {
5
+ /**
6
+ * @property
7
+ * Denotes the number of satoshis paid per kilobyte of transaction size.
8
+ */
9
+ value;
10
+ /**
11
+ * Constructs an instance of the sat/kb fee model.
12
+ *
13
+ * @param {number} value - The number of satoshis per kilobyte to charge as a fee.
14
+ */
15
+ constructor(value) {
16
+ this.value = value;
17
+ }
18
+ /**
19
+ * Computes the fee for a given transaction.
20
+ *
21
+ * @param tx The transaction for which a fee is to be computed.
22
+ * @returns The fee in satoshis for the transaction, as a BigNumber.
23
+ */
24
+ async computeFee(tx) {
25
+ const getVarIntSize = (i) => {
26
+ if (i > 2 ** 32) {
27
+ return 9;
28
+ }
29
+ else if (i > 2 ** 16) {
30
+ return 5;
31
+ }
32
+ else if (i > 253) {
33
+ return 3;
34
+ }
35
+ else {
36
+ return 1;
37
+ }
38
+ };
39
+ // Compute the (potentially estimated) size of the transaction
40
+ let size = 4; // version
41
+ size += getVarIntSize(tx.inputs.length); // number of inputs
42
+ for (let i = 0; i < tx.inputs.length; i++) {
43
+ const input = tx.inputs[i];
44
+ size += 40; // txid, output index, sequence number
45
+ let scriptLength;
46
+ if (typeof input.unlockingScript === 'object') {
47
+ scriptLength = input.unlockingScript.toBinary().length;
48
+ }
49
+ else if (typeof input.unlockingScriptTemplate === 'object') {
50
+ scriptLength = await input.unlockingScriptTemplate.estimateLength(tx, i);
51
+ }
52
+ else {
53
+ throw new Error('All inputs must have an unlocking script or an unlocking script template for sat/kb fee computation.');
54
+ }
55
+ size += getVarIntSize(scriptLength); // unlocking script length
56
+ size += scriptLength; // unlocking script
57
+ }
58
+ size += getVarIntSize(tx.outputs.length); // number of outputs
59
+ for (const out of tx.outputs) {
60
+ size += 8; // satoshis
61
+ const length = out.lockingScript.toBinary().length;
62
+ size += getVarIntSize(length); // script length
63
+ size += length; // script
64
+ }
65
+ size += 4; // lock time
66
+ // We'll use Math.ceil to ensure the miners get the extra satoshi.
67
+ const fee = Math.ceil((size / 1000) * this.value);
68
+ return fee;
69
+ }
70
+ }
71
+ //# sourceMappingURL=SatoshisPerKilobyte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SatoshisPerKilobyte.js","sourceRoot":"","sources":["../../../../../src/transaction/fee-models/SatoshisPerKilobyte.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC;;;OAGG;IACH,KAAK,CAAQ;IAEb;;;;OAIG;IACH,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,EAAe;QAC9B,MAAM,aAAa,GAAG,CAAC,CAAS,EAAU,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;gBACf,OAAO,CAAC,CAAA;aACT;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;gBACtB,OAAO,CAAC,CAAA;aACT;iBAAM,IAAI,CAAC,GAAG,GAAG,EAAE;gBAClB,OAAO,CAAC,CAAA;aACT;iBAAM;gBACL,OAAO,CAAC,CAAA;aACT;QACH,CAAC,CAAA;QACD,8DAA8D;QAC9D,IAAI,IAAI,GAAG,CAAC,CAAA,CAAC,UAAU;QACvB,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC,mBAAmB;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,IAAI,EAAE,CAAA,CAAC,sCAAsC;YACjD,IAAI,YAAoB,CAAA;YACxB,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,EAAE;gBAC7C,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;aACvD;iBAAM,IAAI,OAAO,KAAK,CAAC,uBAAuB,KAAK,QAAQ,EAAE;gBAC5D,YAAY,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;aACzE;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAA;aACxH;YACD,IAAI,IAAI,aAAa,CAAC,YAAY,CAAC,CAAA,CAAC,0BAA0B;YAC9D,IAAI,IAAI,YAAY,CAAA,CAAC,mBAAmB;SACzC;QACD,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,oBAAoB;QAC7D,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE;YAC5B,IAAI,IAAI,CAAC,CAAA,CAAC,WAAW;YACrB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;YAClD,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA,CAAC,gBAAgB;YAC9C,IAAI,IAAI,MAAM,CAAA,CAAC,SAAS;SACzB;QACD,IAAI,IAAI,CAAC,CAAA,CAAC,YAAY;QACtB,kEAAkE;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACjD,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { default as SatoshisPerKilobyte } from './SatoshisPerKilobyte.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/transaction/fee-models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { default as Transaction } from './Transaction.js';
2
+ export { default as MerklePath } from './MerklePath.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/primitives/mersenne.ts","../../src/primitives/k256.ts","../../src/primitives/reductioncontext.ts","../../src/primitives/bignumber.ts","../../src/primitives/montgomorymethod.ts","../../src/primitives/hash.ts","../../src/primitives/utils.ts","../../src/primitives/curve.ts","../../src/primitives/basepoint.ts","../../src/primitives/jacobianpoint.ts","../../src/primitives/point.ts","../../src/primitives/drbg.ts","../../src/primitives/ecdsa.ts","../../src/primitives/signature.ts","../../src/primitives/random.ts","../../src/primitives/privatekey.ts","../../src/primitives/publickey.ts","../../src/primitives/aesgcm.ts","../../src/primitives/symmetrickey.ts","../../src/primitives/index.ts","../../src/script/op.ts","../../src/script/scriptchunk.ts","../../src/script/script.ts","../../src/script/lockingscript.ts","../../src/script/unlockingscript.ts","../../src/transaction/transactionoutput.ts","../../src/transaction/feemodel.ts","../../src/transaction/fee-models/satoshisperkilobyte.ts","../../src/transaction/broadcaster.ts","../../src/transaction/chaintracker.ts","../../src/transaction/merklepath.ts","../../src/transaction/transaction.ts","../../src/transaction/transactioninput.ts","../../src/primitives/transactionsignature.ts","../../src/script/spend.ts","../../src/script/scripttemplate.ts","../../src/script/templates/p2pkh.ts","../../src/script/templates/rpuzzle.ts","../../src/script/templates/index.ts","../../src/script/index.ts","../../src/transaction/index.ts","../../src/transaction/fee-models/index.ts","../../src/transaction/broadcasters/arc.ts","../../src/transaction/broadcasters/index.ts","../../src/messages/signedmessage.ts","../../src/messages/encryptedmessage.ts","../../src/messages/index.ts","../../src/compat/bsm.ts","../../src/compat/hd.ts","../../src/compat/bip-39-wordlist-en.ts","../../src/compat/mnemonic.ts","../../src/compat/ecies.ts","../../src/compat/index.ts","../../mod.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","impliedFormat":1},{"version":"bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c","impliedFormat":1},{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true,"impliedFormat":1},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true,"impliedFormat":1},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true,"impliedFormat":1},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"65be38e881453e16f128a12a8d36f8b012aa279381bf3d4dc4332a4905ceec83","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true,"impliedFormat":1},{"version":"e1913f656c156a9e4245aa111fbb436d357d9e1fe0379b9a802da7fe3f03d736","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"78f8232f29ca77721f9dd9798c3bef83599c9256fd1d5d541e652151c433e8af","impliedFormat":99},{"version":"6416da52b472e7716f6d73f113c2f0a6cb3e711ad426391e5da49b1d08f442f0","impliedFormat":99},{"version":"3e4458c644bbcd8326c7a68713649aa58aae5458718ba09b14a432d851be0c17","impliedFormat":99},{"version":"f05784c62e50a77885d615a5f5a8955cd2e8eeacbbea33e7f13df5178f63df71","impliedFormat":99},{"version":"dfb041cdbc325167423bba5cbc2bafee4c8dfe9cf626cb2c26e093996cdd831a","impliedFormat":99},{"version":"b5026c4e8a6cec1abf08ce3f20b3a262ae152284622dfa2c2c8d7677cd7cd586","signature":"dfa7b34de687e4e08aba89f7ec60008d337a0f40f7e983877fbbfb6a696be2f8","impliedFormat":99},{"version":"e0732e9e419bd13bf479550c73b473e4f22157252f9627506b58aace1ca64505","signature":"379965097ae0042c1963e5186dfa8a80ff5c5983cab59ec0a3a770edb4fdb882","impliedFormat":99},{"version":"6c66acf0025a9390a5d95c2ae91292012af1c981f473259698034ae0746121cb","impliedFormat":99},{"version":"7ed23712e507754ca8736d5fc03dbc63a361b9d3d86987a0c58997b01e5ee6c1","impliedFormat":99},{"version":"249db36e6cb9720a6637023c32a631bd51d1963632e81bf6dd916ebb56587068","impliedFormat":99},{"version":"cea9678b9ca54f0993e85496473102730aa4192787199ad570778dcf832d96f6","impliedFormat":99},{"version":"9d5dcbdae43680bcdece7ceca7cc4b842f3c96b1df4d53a1de1a6662f581156b","impliedFormat":99},{"version":"26cfff17491885f257da38b4344ed24b41f89beeb08eafa820401f49622e0650","impliedFormat":99},{"version":"5b9a69dfcb996e1480bed01acea9e8e849caf70eebcec4a4cb550ab07e13d203","signature":"4672f06431e1729b302cbe5a885b114a5d2f88f98618ec85ff9d963ebec82078","impliedFormat":99},{"version":"b45efca4aa3d8ccb1b5e41a432b48054109fd90ab05d320bfa4851a60aa7cab2","signature":"d7520ad8621111bb484bd4fcf06ec19c8f5c2dcfa938d41a0288d59b15fd1930","impliedFormat":99},{"version":"e8b339e39a0514863b79e35264151594d71b864dbe8da5d6c671b8a1f0db0ea2","impliedFormat":99},{"version":"87acc9b20d64f1b43ece6a0c89362d0a44ab1d0302bc3e478293f2c1fde7b67e","impliedFormat":99},{"version":"621baf0c501d8fe71bb622160654b9b46cb8b801a8d64c8eaa714c466c2a08b5","signature":"0992219a550bfdfd60098cd695d68b43f531e2bb24215281378c01a093d281d8","impliedFormat":99},{"version":"3d2831a64c405b32c73eb5eaf1d3d3bbd4fdd06ff340a735d0bcb8b18d4cf57f","impliedFormat":99},{"version":"07b6553b627dcedacd1e47e3766324a2c1f792ce03746d129485f62a52a3fd3f","impliedFormat":99},{"version":"3d150b9fdeb12ad8448ca768b5ef95cb683adddaeb2185546f7961a2bc8d643c","impliedFormat":99},{"version":"fbd8484c24a187875194878aeacfc32daef9d0ae4f1eb8ce31b355e2d3df8c66","impliedFormat":99},{"version":"c81945297ce96f2034aba540d3806cac5eaadec9493a4d42682b6ae17b50c30a","impliedFormat":99},{"version":"079d6f434bf32684499d1dac9e7eb2dbb55b837a3560361a9c098828ae789f06","impliedFormat":99},{"version":"a613c66badc56f604d3b1ce2cbb18e82b668d8d03850d182978234cd89084afb","impliedFormat":99},{"version":"1212ecc67913ad47a321ee21b0522d88b8026cb269b28f7215984dd98f2bbb79","impliedFormat":99},{"version":"387ccdb4ba57cbe3081944a3c29ff1f20da0db3132a4c046f57682141107835d","impliedFormat":99},{"version":"5e7baebaf3b2a064fe9cb52d74be5d0c4709e4e5b3a5abff4594d92bb90242ed","impliedFormat":99},{"version":"7b9e5e6c0dd3defceba4eaeac3d3bfc11feb043fe6bcea6d1084c6d8536c3783","impliedFormat":99},{"version":"6e6e78d8a49e1fedd8977995535b11eb7826cdc58bb3aa345cc0cfb0751178bd","impliedFormat":99},{"version":"a8704b23f29edfe923ae8c50083f8478109a738064a3c7862f6eb48b9ec03bd0","signature":"dd36329202774e2f32f3f5c0b2801b3c85ec43495e85bf4f2bee681597b5b5c8","impliedFormat":99},{"version":"6a891e6153d921f911c1c3920155315cb51c94162f96096071573d8e3d9e5588","impliedFormat":99},{"version":"c59c9abbee35c374c0885c92c88340f361ffbd9892fcba86371ce0a8eb34feb2","impliedFormat":99},{"version":"1a371b8f0b368c3ff5f8c68fc4cd03af7377edcd63fa8dbad2d064f60bc59f89","impliedFormat":99},{"version":"5044eb99276850ebc408f10bc10318c2b26541a9b41d64c030bf275bdb2e1fa8","impliedFormat":99},{"version":"4bc9015277d87375edb2c9cf5768728fdddedac686e1a48522509f97c47bd28b","impliedFormat":99},{"version":"f98196eeed7e16d108c5f50283bccf9eee30caa15362989276a6b931038770e7","impliedFormat":99},{"version":"f1ea032ce43f538d9839d593e1cdd2b0ad036d3185181fcfc120c2ac8212e0d7","impliedFormat":99},{"version":"b0a0340f70f627ca7b21f85556aab7656cf3c61b75f6abf6cce2f0ed2ec546ab","impliedFormat":99},{"version":"88e6bfba52f379f59c6464d78cbfe052c121c2daacc387c7c029eddf9c966d1b","impliedFormat":99},{"version":"14267dae5068bc996063cd7acdc9610327383580fe2c3d355957158eaf384884","impliedFormat":99},{"version":"7a53dde9117e238bc8431695b98954836a3a4178239caba3874bea0d56563bad","impliedFormat":99},{"version":"d7cf42ecaa531f551fe11711d80ae396e47a4541fe5729bda1da7f2282f6af22","impliedFormat":99},{"version":"78f1b4e76ee43ef381876fd8e20812d00000946818dba2a00986b05e3f9ff83f","impliedFormat":99},{"version":"0c5484b6012ff64658956901c1e0be5ff702d4fc63b9820e57a42e8259be19a7","impliedFormat":99},{"version":"9f242994e47e57870b9df723d69ed7abc5fc36c620d610edce99aff8f3536999","impliedFormat":99},{"version":"9f8fc8bb76f9e7afed282bfac56f836ed07fe8f2d34ccfeefa5021152d01944d","impliedFormat":99},{"version":"24f695918b1413946c7a262e1fc31e39edc03ae431ed89ff976daa0e484f05aa","impliedFormat":99},{"version":"b404a086dca339e1244d894b4a3cd095dbf127b3568cbef15c95626c6a0e8349","impliedFormat":99},{"version":"abc16844c56b7e2a40071f2c4325b58cbaf86313bc4baeecf2c2dd9cd6eb72e3","signature":"323f533b672b96b572a4862a71a229b913df667e88cfd5b2328e01aab8097589","impliedFormat":99},{"version":"8b1ec359710016b70c8d286358c5a21d65e374d5d67f3420e2044e31d215194b","signature":"4b101e717eebbf638567c83aa0793903a9bc334db6c8538cb9bc241285386a8d","impliedFormat":99},{"version":"5785c2490619cc42b1cfed706a9c76d0ad70654ab860a40e0b12aa32037cd377","impliedFormat":99},{"version":"d9dd675668fb33558479e19179b5ba6ddd487dad79b4e6dfc2da262ecb115efc","impliedFormat":99},{"version":"b78fe56cb5a0abe4e240d2dc98c9f66b2c65d88f9e1c6aa89c14ad3e4a98dfeb","impliedFormat":99},{"version":"f713064ca751dc588bc13832137c418cb70cf0446de92ade60ad631071558fca","impliedFormat":1},{"version":"dfefd34e8ab60f41d0c130527d5092d6ce662dc9fa85bc8c97682baf65830b51","impliedFormat":1},{"version":"96c23535f4f9dd15beb767e070559ea672f6a35f103152836a67100605136a96","impliedFormat":1},{"version":"b0f4dd1a825912da8f12fd3388d839ef4aa51165ea0e60e4869b50b7ccb4f6fc","impliedFormat":1},{"version":"9cb7c5f710dc84d2e9500831a3e9a27afd3c3710f5a1b8744a50473e565b41fc","impliedFormat":1},{"version":"cf6b2edde490f303918809bfab1da8b6d059b50c160bec72005ff4c248bdd079","impliedFormat":1},{"version":"09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"32465ea19404cb188e84cf08c6b1f6b12d739140436402cdbc184a3fd20a7d81","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"bb6872f39c58753205c19b9f89e1e07d61116ae5d82539cef0f3bde5e8fecb57","affectsGlobalScope":true,"impliedFormat":1},{"version":"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","impliedFormat":1},{"version":"7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba","impliedFormat":1},{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"3a3b3310118e79c8d394171a87f4dc8fd562337a85e33f9fa9636040a2ec2fde","impliedFormat":1},{"version":"b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","impliedFormat":1},{"version":"b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","impliedFormat":1},{"version":"42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","impliedFormat":1},{"version":"0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"738a0de235edb5caf581c5aa86f5dd48ee28b2d0da1e327cbc57cdabde116bda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","impliedFormat":1},{"version":"f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","impliedFormat":1},{"version":"f4016bf7fd9b760162521f2f18fab4023095795e4fb34496d8c61c59acfd0a56","impliedFormat":1},{"version":"21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"ad8848c289c0b633452e58179f46edccd14b5a0fe90ebce411f79ff040b803e0","impliedFormat":1},{"version":"120285cc97da7b20b0cbf2c557a5db7d215ec17ee688165ac8aff7f8de035b75","affectsGlobalScope":true,"impliedFormat":1},{"version":"5ca4a9fb7c9ee4f60df6d3bb6460e2c7f3a9cd7b8f7ebae29110fac74de4e50c","impliedFormat":1},{"version":"42a7993edf3288c33755ec08faefb1a40fd9f5f0844f82e48ae152791e80c76a","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"f49fb15c4aa06b65b0dce4db4584bfd8a9f74644baef1511b404dc95be34af00","affectsGlobalScope":true,"impliedFormat":1},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true,"impliedFormat":1},{"version":"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","impliedFormat":1},{"version":"3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"8258e69a3b0de494ea55eeea7a4d3216ac112c12006c74dfd381c0d5e42a2607","impliedFormat":1},{"version":"cdaaf046791d7d588f28f32197c5d6acc43343e62540a67eed194c9c20535fdc","impliedFormat":1},{"version":"831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12","impliedFormat":1},{"version":"e78290186ee23e5a4d067811dcc547973be09f4dc9564cfed6c7f1f0bdd89d24","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"290276bcec65d49eb152489c62845b28bed530258751c80d04d167b36b33be72","affectsGlobalScope":true,"impliedFormat":1},{"version":"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","impliedFormat":1},{"version":"2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","impliedFormat":1},{"version":"5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d","impliedFormat":1},{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"16dcbd7095be9ba030b671ef982dc760e03d40a0f54f27f2a6f1fa00f5670fe7","impliedFormat":1},{"version":"6adaa01cba6e7bae17d8291089e9e38bfc3fffcd522e2161214cbaccab4c1b2b","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"c79bd2f3e5c05e7ad80dc82ce8d339cac23ac1f5e6cfab96c860bb70d5162873","impliedFormat":1},{"version":"e3328cedfe4d7fac23ba75d00bf5169269800ab949d0837cd88c4211a52c3762","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"c8950367d1812758e9e354c695c60c3e6311bf2cd98b9f9eb469a19df8a9a486","affectsGlobalScope":true,"impliedFormat":1},{"version":"dd89872dd0647dfd63665f3d525c06d114310a2f7a5a9277e5982a152b31be2b","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"cc0700b1b97e18a3d5d9184470502d8762ec85158819d662730c3a8c5d702584","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"f77ff4cd234d3fd18ddd5aeadb6f94374511931976d41f4b9f594cb71f7ce6f3","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"4f18b4e6081e5e980ef53ddf57b9c959d36cffe1eb153865f512a01aeffb5e1e","impliedFormat":1},{"version":"7f17d4846a88eca5fe71c4474ef687ee89c4acf9b5372ab9b2ee68644b7e0fe0","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"58e0cee50add50d4b6d47a935e26aeb0080d98c9cf729f8af389511cdfa10526","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1},{"version":"75fa6a9be075402ea969c1fcec4bb1421f72efbc3e2f340032684cdd3115197c","impliedFormat":1},{"version":"c516a2b18ec68ce5281d7f90113f9be11c7800a859e52292ec7d6a5c13d0465b","impliedFormat":1}],"root":[[65,118]],"options":{"allowSyntheticDefaultImports":true,"downlevelIteration":false,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":199,"outDir":"./","rootDir":"../..","skipLibCheck":true,"sourceMap":true,"strict":false,"strictNullChecks":false,"target":99},"fileIdsList":[[84,103,104,105,106,108,111,117,171],[119,171],[171],[171,185],[119,120,121,122,123,171],[119,121,171],[142,171,178],[171,180],[171,181],[171,187,190],[125,171],[128,171],[129,134,162,171],[130,141,142,149,159,170,171],[130,131,141,149,171],[132,171],[133,134,142,150,171],[134,159,167,171],[135,137,141,149,171],[136,171],[137,138,171],[141,171],[139,141,171],[141,142,143,159,170,171],[141,142,143,156,159,162,171],[171,175],[137,141,144,149,159,170,171],[141,142,144,145,149,159,167,170,171],[144,146,159,167,170,171],[125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[141,147,171],[148,170,171,175],[137,141,149,159,171],[150,171],[151,171],[128,152,171],[153,169,171,175],[154,171],[155,171],[141,156,157,171],[156,158,171,173],[129,141,159,160,161,162,171],[129,159,161,171],[159,160,171],[162,171],[163,171],[128,159,171],[141,165,166,171],[165,166,171],[134,149,159,167,171],[168,171],[149,169,171],[129,144,155,170,171],[134,171],[159,171,172],[148,171,173],[171,174],[129,134,141,143,152,159,170,171,173,175],[159,171,176],[171,194,233],[171,194,218,233],[171,233],[171,194],[171,194,219,233],[171,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232],[171,219,233],[171,235],[171,183,189],[171,187],[171,184,188],[171,186],[68,70,71,77,78,80,81,171],[70,71,75,79,80,81,171],[68,70,71,72,79,80,81,171],[112,113,115,116,171],[70,71,79,114,171],[71,79,80,81,83,171],[109,110,171],[71,72,78,79,80,81,171],[72,171],[67,171],[67,68,69,71,75,171],[70,71,171],[68,72,75,76,78,171],[68,70,75,78,79,80,81,83,171],[68,73,75,171],[65,68,171],[68,171],[67,68,171],[67,68,71,73,74,171],[68,70,71,72,75,77,78,79,81,171],[68,70,71,72,75,77,78,80,171],[65,66,68,171],[68,70,71,77,81,171],[68,71,79,82,171],[68,70,71,78,87,90,97,171],[68,70,171],[85,87,88,89,99,100,103,171],[87,171],[68,71,85,86,171],[88,89,96,171],[68,70,71,77,81,85,86,87,88,89,90,97,98,171],[101,102,171],[70,80,85,88,89,96,98,100,171],[68,70,80,85,86,88,89,96,98,100,171],[96,171],[93,96,171],[107,171],[92,171],[68,91,96,171],[68,96,171],[90,93,94,95,96,97,171],[70,71,94,171],[68,70,71,88,89,90,91,92,93,94,95,97,99,171],[89,96,171],[68,88,171],[68,81],[68],[71,94]],"referencedMap":[[118,1],[121,2],[119,3],[183,3],[186,4],[185,3],[124,5],[120,2],[122,6],[123,2],[179,7],[180,3],[181,8],[182,9],[191,10],[192,3],[193,3],[125,11],[126,11],[128,12],[129,13],[130,14],[131,15],[132,16],[133,17],[134,18],[135,19],[136,20],[137,21],[138,21],[140,22],[139,23],[141,22],[142,24],[143,25],[127,26],[177,3],[144,27],[145,28],[146,29],[178,30],[147,31],[148,32],[149,33],[150,34],[151,35],[152,36],[153,37],[154,38],[155,39],[156,40],[157,40],[158,41],[159,42],[161,43],[160,44],[162,45],[163,46],[164,47],[165,48],[166,49],[167,50],[168,51],[169,52],[170,53],[171,54],[172,55],[173,56],[174,57],[175,58],[176,59],[218,60],[219,61],[194,62],[197,62],[216,60],[217,60],[207,60],[206,63],[204,60],[199,60],[212,60],[210,60],[214,60],[198,60],[211,60],[215,60],[200,60],[201,60],[213,60],[195,60],[202,60],[203,60],[205,60],[209,60],[220,64],[208,60],[196,60],[233,65],[232,3],[227,64],[229,66],[228,64],[221,64],[222,64],[224,64],[226,64],[230,66],[231,66],[223,66],[225,66],[234,3],[235,3],[236,67],[184,3],[190,68],[188,69],[189,70],[187,71],[63,3],[64,3],[12,3],[14,3],[13,3],[2,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[3,3],[4,3],[23,3],[27,3],[24,3],[25,3],[26,3],[28,3],[29,3],[30,3],[5,3],[31,3],[32,3],[33,3],[34,3],[6,3],[38,3],[35,3],[36,3],[37,3],[39,3],[7,3],[40,3],[45,3],[46,3],[41,3],[42,3],[43,3],[44,3],[8,3],[50,3],[47,3],[48,3],[49,3],[51,3],[9,3],[52,3],[53,3],[54,3],[57,3],[55,3],[56,3],[58,3],[59,3],[10,3],[1,3],[11,3],[62,3],[61,3],[60,3],[114,3],[112,72],[116,73],[113,74],[117,75],[115,76],[110,77],[111,78],[109,79],[82,3],[73,80],[68,81],[72,82],[76,83],[77,84],[70,3],[84,85],[74,86],[66,87],[65,88],[69,89],[75,90],[80,91],[81,92],[79,3],[67,93],[78,94],[83,95],[98,96],[71,97],[104,98],[88,99],[85,3],[87,100],[86,3],[100,101],[99,102],[103,103],[101,104],[102,105],[89,99],[93,106],[107,107],[108,108],[94,3],[106,109],[92,110],[91,111],[105,112],[95,113],[96,114],[97,115],[90,116]],"exportedModulesMap":[[118,1],[121,2],[119,3],[183,3],[186,4],[185,3],[124,5],[120,2],[122,6],[123,2],[179,7],[180,3],[181,8],[182,9],[191,10],[192,3],[193,3],[125,11],[126,11],[128,12],[129,13],[130,14],[131,15],[132,16],[133,17],[134,18],[135,19],[136,20],[137,21],[138,21],[140,22],[139,23],[141,22],[142,24],[143,25],[127,26],[177,3],[144,27],[145,28],[146,29],[178,30],[147,31],[148,32],[149,33],[150,34],[151,35],[152,36],[153,37],[154,38],[155,39],[156,40],[157,40],[158,41],[159,42],[161,43],[160,44],[162,45],[163,46],[164,47],[165,48],[166,49],[167,50],[168,51],[169,52],[170,53],[171,54],[172,55],[173,56],[174,57],[175,58],[176,59],[218,60],[219,61],[194,62],[197,62],[216,60],[217,60],[207,60],[206,63],[204,60],[199,60],[212,60],[210,60],[214,60],[198,60],[211,60],[215,60],[200,60],[201,60],[213,60],[195,60],[202,60],[203,60],[205,60],[209,60],[220,64],[208,60],[196,60],[233,65],[232,3],[227,64],[229,66],[228,64],[221,64],[222,64],[224,64],[226,64],[230,66],[231,66],[223,66],[225,66],[234,3],[235,3],[236,67],[184,3],[190,68],[188,69],[189,70],[187,71],[63,3],[64,3],[12,3],[14,3],[13,3],[2,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[3,3],[4,3],[23,3],[27,3],[24,3],[25,3],[26,3],[28,3],[29,3],[30,3],[5,3],[31,3],[32,3],[33,3],[34,3],[6,3],[38,3],[35,3],[36,3],[37,3],[39,3],[7,3],[40,3],[45,3],[46,3],[41,3],[42,3],[43,3],[44,3],[8,3],[50,3],[47,3],[48,3],[49,3],[51,3],[9,3],[52,3],[53,3],[54,3],[57,3],[55,3],[56,3],[58,3],[59,3],[10,3],[1,3],[11,3],[62,3],[61,3],[60,3],[112,72],[116,73],[113,74],[117,75],[110,77],[111,78],[109,79],[73,80],[68,81],[72,82],[76,83],[77,84],[84,85],[74,86],[66,87],[65,88],[69,89],[75,90],[80,91],[81,92],[67,93],[78,117],[83,95],[98,96],[71,118],[104,98],[88,99],[85,3],[87,100],[86,3],[100,101],[99,102],[103,103],[101,104],[102,105],[89,99],[93,106],[107,107],[108,108],[94,3],[106,109],[92,110],[91,111],[105,112],[95,119],[96,114],[97,115],[90,116]],"semanticDiagnosticsPerFile":[118,121,119,183,186,185,124,120,122,123,179,180,181,182,191,192,193,125,126,128,129,130,131,132,133,134,135,136,137,138,140,139,141,142,143,127,177,144,145,146,178,147,148,149,150,151,152,153,154,155,156,157,158,159,161,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,218,219,194,197,216,217,207,206,204,199,212,210,214,198,211,215,200,201,213,195,202,203,205,209,220,208,196,233,232,227,229,228,221,222,224,226,230,231,223,225,234,235,236,184,190,188,189,187,63,64,12,14,13,2,15,16,17,18,19,20,21,22,3,4,23,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,59,10,1,11,62,61,60,114,112,116,113,117,115,110,111,109,82,73,68,72,76,77,70,84,74,66,65,69,75,80,81,79,67,78,83,98,71,104,88,85,87,86,100,99,103,101,102,89,93,107,108,94,106,92,91,105,95,96,97,90]},"version":"5.2.2"}
@@ -0,0 +1,9 @@
1
+ export * from "./src/primitives/index.js";
2
+ export * from "./src/script/index.js";
3
+ export * from "./src/script/templates/index.js";
4
+ export * from "./src/transaction/index.js";
5
+ export * from "./src/transaction/fee-models/index.js";
6
+ export * from "./src/transaction/broadcasters/index.js";
7
+ export * from "./src/messages/index.js";
8
+ export * from "./src/compat/index.js";
9
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../mod.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * @class BIP39
3
+ *
4
+ * @description
5
+ * Class representing BIP39 functionality.
6
+ * This class provides methods for generating, converting, and validating mnemonic phrases
7
+ * according to the BIP39 standard. It supports creating mnemonics from random entropy,
8
+ * converting mnemonics to seeds, and validating mnemonic phrases.
9
+ */
10
+ export default class BIP39 {
11
+ mnemonic: string;
12
+ seed: number[];
13
+ Wordlist: {
14
+ value: string[];
15
+ space: string;
16
+ };
17
+ /**
18
+ * Constructs a BIP39 object.
19
+ * @param {string} [mnemonic] - An optional mnemonic phrase.
20
+ * @param {number[]} [seed] - An optional seed derived from the mnemonic.
21
+ * @param {object} [wordlist=wordList] - An object containing a list of words and space character used in the mnemonic.
22
+ */
23
+ constructor(mnemonic?: string, seed?: number[], wordlist?: {
24
+ value: string[];
25
+ space: string;
26
+ });
27
+ /**
28
+ * Converts the mnemonic and seed into a binary representation.
29
+ * @returns {number[]} The binary representation of the mnemonic and seed.
30
+ */
31
+ toBinary(): number[];
32
+ /**
33
+ * Loads a mnemonic and seed from a binary representation.
34
+ * @param {number[]} bin - The binary representation of a mnemonic and seed.
35
+ * @returns {this} The BIP39 instance with loaded mnemonic and seed.
36
+ */
37
+ fromBinary(bin: number[]): this;
38
+ /**
39
+ * Generates a random mnemonic from a given bit length.
40
+ * @param {number} [bits=128] - The bit length for the random mnemonic (must be a multiple of 32 and at least 128).
41
+ * @returns {this} The BIP39 instance with the new random mnemonic.
42
+ * @throws {Error} If the bit length is not a multiple of 32 or is less than 128.
43
+ */
44
+ fromRandom(bits?: number): this;
45
+ /**
46
+ * Static method to generate a BIP39 instance with a random mnemonic.
47
+ * @param {number} [bits=128] - The bit length for the random mnemonic.
48
+ * @returns {BIP39} A new BIP39 instance.
49
+ */
50
+ static fromRandom(bits?: number): BIP39;
51
+ /**
52
+ * Converts given entropy into a mnemonic phrase.
53
+ * This method is used to generate a mnemonic from a specific entropy source.
54
+ * @param {number[]} buf - The entropy buffer, must be at least 128 bits.
55
+ * @returns {this} The BIP39 instance with the mnemonic set from the given entropy.
56
+ * @throws {Error} If the entropy is less than 128 bits.
57
+ */
58
+ fromEntropy(buf: number[]): this;
59
+ /**
60
+ * Static method to create a BIP39 instance from a given entropy.
61
+ * @param {number[]} buf - The entropy buffer.
62
+ * @returns {BIP39} A new BIP39 instance.
63
+ */
64
+ static fromEntropy(buf: number[]): BIP39;
65
+ /**
66
+ * Sets the mnemonic for the instance from a string.
67
+ * @param {string} mnemonic - The mnemonic phrase as a string.
68
+ * @returns {this} The BIP39 instance with the set mnemonic.
69
+ */
70
+ fromString(mnemonic: string): this;
71
+ /**
72
+ * Static method to create a BIP39 instance from a mnemonic string.
73
+ * @param {string} str - The mnemonic phrase.
74
+ * @returns {BIP39} A new BIP39 instance.
75
+ */
76
+ static fromString(str: string): BIP39;
77
+ /**
78
+ * Converts the instance's mnemonic to a string representation.
79
+ * @returns {string} The mnemonic phrase as a string.
80
+ */
81
+ toString(): string;
82
+ /**
83
+ * Converts the mnemonic to a seed.
84
+ * The mnemonic must pass the validity check before conversion.
85
+ * @param {string} [passphrase=''] - An optional passphrase for additional security.
86
+ * @returns {number[]} The generated seed.
87
+ * @throws {Error} If the mnemonic is invalid.
88
+ */
89
+ toSeed(passphrase?: string): number[];
90
+ /**
91
+ * Converts entropy to a mnemonic phrase.
92
+ * This method takes a buffer of entropy and converts it into a corresponding
93
+ * mnemonic phrase based on the BIP39 wordlist. The entropy should be at least 128 bits.
94
+ * The method applies a checksum and maps the entropy to words in the wordlist.
95
+ * @param {number[]} buf - The entropy buffer to convert. Must be at least 128 bits.
96
+ * @returns {this} The BIP39 instance with the mnemonic set from the entropy.
97
+ * @throws {Error} If the entropy is less than 128 bits or if it's not an even multiple of 11 bits.
98
+ */
99
+ entropy2Mnemonic(buf: number[]): this;
100
+ /**
101
+ * Validates the mnemonic phrase.
102
+ * Checks for correct length, absence of invalid words, and proper checksum.
103
+ * @returns {boolean} True if the mnemonic is valid, false otherwise.
104
+ * @throws {Error} If the mnemonic is not an even multiple of 11 bits.
105
+ */
106
+ check(): boolean;
107
+ /**
108
+ * Converts a mnemonic to a seed.
109
+ * This method takes the instance's mnemonic phrase, combines it with a passphrase (if provided),
110
+ * and uses PBKDF2 to generate a seed. It also validates the mnemonic before conversion.
111
+ * This seed can then be used for generating deterministic keys.
112
+ * @param {string} [passphrase=''] - An optional passphrase for added security.
113
+ * @returns {this} The BIP39 instance with the seed generated from the mnemonic.
114
+ * @throws {Error} If the mnemonic does not pass validation or if the passphrase is not a string.
115
+ */
116
+ mnemonic2Seed(passphrase?: string): this;
117
+ /**
118
+ * Determines the validity of a given passphrase with the mnemonic.
119
+ * This method is useful for checking if a passphrase matches with the mnemonic.
120
+ * @param {string} [passphrase=''] - The passphrase to validate.
121
+ * @returns {boolean} True if the mnemonic and passphrase combination is valid, false otherwise.
122
+ */
123
+ isValid(passphrase?: string): boolean;
124
+ /**
125
+ * Static method to check the validity of a given mnemonic and passphrase combination.
126
+ * @param {string} mnemonic - The mnemonic phrase.
127
+ * @param {string} [passphrase=''] - The passphrase to validate.
128
+ * @returns {boolean} True if the combination is valid, false otherwise.
129
+ */
130
+ static isValid(mnemonic: string, passphrase?: string): boolean;
131
+ }
132
+ //# sourceMappingURL=BIP39.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BIP39.d.ts","sourceRoot":"","sources":["../../../../src/compat/BIP39.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnD;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ;;;KAAW;IAMnE;;;OAGG;IACI,QAAQ,IAAI,MAAM,EAAE;IAkB3B;;;;OAIG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAatC;;;;;OAKG;IACI,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBtC;;;;OAIG;WACW,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK;IAI9C;;;;;;OAMG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC;;;;OAIG;WACW,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK;IAI/C;;;;OAIG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKzC;;;;OAIG;WACW,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAI5C;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;;;OAMG;IACI,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAK5C;;;;;;;;OAQG;IACI,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAgC5C;;;;;OAKG;IACI,KAAK,IAAI,OAAO;IAiCvB;;;;;;;;OAQG;IACI,aAAa,CAAC,UAAU,SAAK,GAAG,IAAI;IAkB3C;;;;;OAKG;IACI,OAAO,CAAC,UAAU,SAAK,GAAG,OAAO;IAUxC;;;;;OAKG;WACW,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO;CAGpE"}
@@ -0,0 +1,28 @@
1
+ import PrivateKey from '../primitives/PrivateKey.js';
2
+ import PublicKey from '../primitives/PublicKey.js';
3
+ import Signature from '../primitives/Signature.js';
4
+ /**
5
+ * Generates a SHA256 double-hash of the prefixed message.
6
+ * @deprecated Replaced by BRC-77 which uses a more secure and private method for message signing.
7
+ * @param messageBuf The message buffer to be hashed.
8
+ * @returns The double-hash of the prefixed message as a number array.
9
+ */
10
+ export declare const magicHash: (messageBuf: number[]) => number[];
11
+ /**
12
+ * Signs a BSM message using the given private key.
13
+ * @deprecated Replaced by BRC-77 which employs BRC-42 key derivation and BRC-43 invoice numbers for enhanced security and privacy.
14
+ * @param message The message to be signed as a number array.
15
+ * @param privateKey The private key used for signing the message.
16
+ * @returns The signature object.
17
+ */
18
+ export declare const sign: (message: number[], privateKey: PrivateKey) => Signature;
19
+ /**
20
+ * Verifies a BSM signed message using the given public key.
21
+ * @deprecated Replaced by BRC-77 which provides privately-verifiable signatures and avoids key reuse.
22
+ * @param message The message to be verified as a number array.
23
+ * @param sig The signature object.
24
+ * @param pubKey The public key for verification.
25
+ * @returns True if the signature is valid, false otherwise.
26
+ */
27
+ export declare const verify: (message: number[], sig: Signature, pubKey: PublicKey) => boolean;
28
+ //# sourceMappingURL=BSM.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BSM.d.ts","sourceRoot":"","sources":["../../../../src/compat/BSM.ts"],"names":[],"mappings":"AAIA,OAAO,UAAU,MAAM,6BAA6B,CAAA;AACpD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAIlD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,eAAgB,MAAM,EAAE,KAAG,MAAM,EAStD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,YAAa,MAAM,EAAE,cAAc,UAAU,KAAG,SAGhE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,YAAa,MAAM,EAAE,OAAO,SAAS,UAAU,SAAS,KAAG,OAG7E,CAAA"}
@@ -0,0 +1,62 @@
1
+ import PrivateKey from '../primitives/PrivateKey.js';
2
+ import PublicKey from '../primitives/PublicKey.js';
3
+ /**
4
+ * @class ECIES
5
+ * Implements the Electrum ECIES protocol for encrypted communication.
6
+ *
7
+ * @prprecated This class is deprecated in favor of the BRC-78 standard for portable encrypted messages,
8
+ * which provides a more comprehensive and secure solution by integrating with BRC-42 and BRC-43 standards.
9
+ */
10
+ export default class ECIES {
11
+ /**
12
+ * Generates the initialization vector (iv), encryption key (kE), and MAC key (kM)
13
+ * using the sender's private key and receiver's public key.
14
+ *
15
+ * @param {PrivateKey} privKey - The sender's private key.
16
+ * @param {PublicKey} pubKey - The receiver's public key.
17
+ * @returns {Object} An object containing the iv, kE, and kM as number arrays.
18
+ */
19
+ static ivkEkM(privKey: PrivateKey, pubKey: PublicKey): {
20
+ iv: number[];
21
+ kE: number[];
22
+ kM: number[];
23
+ };
24
+ /**
25
+ * Encrypts a given message using the Electrum ECIES method.
26
+ *
27
+ * @param {number[]} messageBuf - The message to be encrypted, in number array format.
28
+ * @param {PublicKey} toPublicKey - The public key of the recipient.
29
+ * @param {PrivateKey} [fromPrivateKey] - The private key of the sender. If not provided, a random private key is used.
30
+ * @param {boolean} [noKey=false] - If true, does not include the sender's public key in the encrypted message.
31
+ * @returns {number[]} The encrypted message as a number array.
32
+ */
33
+ static electrumEncrypt(messageBuf: number[], toPublicKey: PublicKey, fromPrivateKey?: PrivateKey, noKey?: boolean): number[];
34
+ /**
35
+ * Decrypts a message encrypted using the Electrum ECIES method.
36
+ *
37
+ * @param {number[]} encBuf - The encrypted message buffer.
38
+ * @param {PrivateKey} toPrivateKey - The private key of the recipient.
39
+ * @param {PublicKey} [fromPublicKey=null] - The public key of the sender. If not provided, it is extracted from the message.
40
+ * @returns {number[]} The decrypted message as a number array.
41
+ */
42
+ static electrumDecrypt(encBuf: number[], toPrivateKey: PrivateKey, fromPublicKey?: PublicKey): number[];
43
+ /**
44
+ * Encrypts a given message using the Bitcore variant of ECIES.
45
+ *
46
+ * @param {number[]} messageBuf - The message to be encrypted, in number array format.
47
+ * @param {PublicKey} toPublicKey - The public key of the recipient.
48
+ * @param {PrivateKey} [fromPrivateKey] - The private key of the sender. If not provided, a random private key is used.
49
+ * @param {number[]} [ivBuf] - The initialization vector for encryption. If not provided, a random IV is used.
50
+ * @returns {number[]} The encrypted message as a number array.
51
+ */
52
+ static bitcoreEncrypt(messageBuf: number[], toPublicKey: PublicKey, fromPrivateKey?: PrivateKey, ivBuf?: number[]): number[];
53
+ /**
54
+ * Decrypts a message encrypted using the Bitcore variant of ECIES.
55
+ *
56
+ * @param {number[]} encBuf - The encrypted message buffer.
57
+ * @param {PrivateKey} toPrivateKey - The private key of the recipient.
58
+ * @returns {number[]} The decrypted message as a number array.
59
+ */
60
+ static bitcoreDecrypt(encBuf: number[], toPrivateKey: PrivateKey): number[];
61
+ }
62
+ //# sourceMappingURL=ECIES.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECIES.d.ts","sourceRoot":"","sources":["../../../../src/compat/ECIES.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,6BAA6B,CAAA;AACpD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAgZlD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IAEtB;;;;;;;OAOG;WACW,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG;QAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAAC,EAAE,EAAE,MAAM,EAAE,CAAC;QAAC,EAAE,EAAE,MAAM,EAAE,CAAA;KAAE;IAc1G;;;;;;;;OAQG;WACW,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,UAAQ,GAAG,MAAM,EAAE;IAqBjI;;;;;;;OAOG;WACW,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,GAAE,SAAgB,GAAG,MAAM,EAAE;IA0BpH;;;;;;;;OAQG;WACW,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAoBnI;;;;;;OAMG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,MAAM,EAAE;CAsBrF"}