@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
package/docs/compat.md ADDED
@@ -0,0 +1,2856 @@
1
+ # API
2
+
3
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
4
+
5
+ ## Classes
6
+
7
+ | |
8
+ | --- |
9
+ | [ECIES](#class-ecies) |
10
+ | [HD](#class-hd) |
11
+ | [Mnemonic](#class-mnemonic) |
12
+
13
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
14
+
15
+ ---
16
+
17
+ ### Class: HD
18
+
19
+ ```ts
20
+ export default class HD {
21
+ versionBytesNum: number;
22
+ depth: number;
23
+ parentFingerPrint: number[];
24
+ childIndex: number;
25
+ chainCode: number[];
26
+ privKey: PrivateKey;
27
+ pubKey: PublicKey;
28
+ constants = {
29
+ pubKey: 76067358,
30
+ privKey: 76066276
31
+ };
32
+ constructor(versionBytesNum?: number, depth?: number, parentFingerPrint?: number[], childIndex?: number, chainCode?: number[], privKey?: PrivateKey, pubKey?: PublicKey)
33
+ public fromRandom(): this
34
+ public static fromRandom(): HD
35
+ public fromString(str: string): this
36
+ public toString(): string
37
+ public fromSeed(bytes: number[]): this
38
+ public static fromSeed(bytes: number[]): HD
39
+ public fromBinary(buf: number[]): this
40
+ public derive(path: string): HD
41
+ public deriveChild(i: number): HD
42
+ public toPublic(): HD
43
+ public toBinary(): number[]
44
+ public isPrivate(): boolean
45
+ }
46
+ ```
47
+
48
+ <details>
49
+
50
+ <summary>Class HD Details</summary>
51
+
52
+ #### Constructor
53
+
54
+ Constructor for the BIP32 HD wallet.
55
+ Initializes an HD wallet with optional parameters for version bytes, depth, parent fingerprint, child index, chain code, private key, and public key.
56
+
57
+ ```ts
58
+ constructor(versionBytesNum?: number, depth?: number, parentFingerPrint?: number[], childIndex?: number, chainCode?: number[], privKey?: PrivateKey, pubKey?: PublicKey)
59
+ ```
60
+
61
+ Argument Details
62
+
63
+ + **versionBytesNum**
64
+ + Version bytes number for the wallet.
65
+ + **depth**
66
+ + Depth of the key in the hierarchy.
67
+ + **parentFingerPrint**
68
+ + Fingerprint of the parent key.
69
+ + **childIndex**
70
+ + Index of the child key.
71
+ + **chainCode**
72
+ + Chain code for key derivation.
73
+ + **privKey**
74
+ + Private key of the wallet.
75
+ + **pubKey**
76
+ + Public key of the wallet.
77
+
78
+ #### Method derive
79
+
80
+ Derives a child HD wallet based on a given path.
81
+ The path specifies the hierarchy of the child key to be derived.
82
+
83
+ ```ts
84
+ public derive(path: string): HD
85
+ ```
86
+
87
+ Returns
88
+
89
+ A new HD instance representing the derived child wallet.
90
+
91
+ Argument Details
92
+
93
+ + **path**
94
+ + A string representing the derivation path (e.g., 'm/0'/1).
95
+
96
+ #### Method deriveChild
97
+
98
+ Derives a child HD wallet from the current wallet based on an index.
99
+ This method generates either a private or public child key depending on the current wallet's state.
100
+
101
+ ```ts
102
+ public deriveChild(i: number): HD
103
+ ```
104
+
105
+ Returns
106
+
107
+ A new HD instance representing the derived child wallet.
108
+
109
+ Argument Details
110
+
111
+ + **i**
112
+ + The index of the child key to derive.
113
+
114
+ #### Method fromBinary
115
+
116
+ Initializes the HD wallet from a binary buffer.
117
+ Parses a binary buffer to set up the wallet's properties.
118
+
119
+ ```ts
120
+ public fromBinary(buf: number[]): this
121
+ ```
122
+
123
+ Returns
124
+
125
+ The current instance with properties set from the buffer.
126
+
127
+ Argument Details
128
+
129
+ + **buf**
130
+ + A buffer containing the wallet data.
131
+
132
+ #### Method fromRandom
133
+
134
+ Generates a new HD wallet with random keys.
135
+ This method creates a root HD wallet with randomly generated private and public keys.
136
+
137
+ ```ts
138
+ public fromRandom(): this
139
+ ```
140
+
141
+ Returns
142
+
143
+ The current HD instance with generated keys.
144
+
145
+ #### Method fromRandom
146
+
147
+ Generates a new HD wallet with random keys.
148
+ This method creates a root HD wallet with randomly generated private and public keys.
149
+
150
+ ```ts
151
+ public static fromRandom(): HD
152
+ ```
153
+
154
+ Returns
155
+
156
+ A new HD instance with generated keys.
157
+
158
+ #### Method fromSeed
159
+
160
+ Initializes the HD wallet from a seed.
161
+ This method generates keys and other properties from a given seed, conforming to the BIP32 specification.
162
+
163
+ ```ts
164
+ public fromSeed(bytes: number[]): this
165
+ ```
166
+
167
+ Returns
168
+
169
+ The current instance with properties set from the seed.
170
+
171
+ Argument Details
172
+
173
+ + **bytes**
174
+ + An array of bytes representing the seed.
175
+
176
+ #### Method fromSeed
177
+
178
+ Initializes the HD wallet from a seed.
179
+ This method generates keys and other properties from a given seed, conforming to the BIP32 specification.
180
+
181
+ ```ts
182
+ public static fromSeed(bytes: number[]): HD
183
+ ```
184
+
185
+ Returns
186
+
187
+ The current instance with properties set from the seed.
188
+
189
+ Argument Details
190
+
191
+ + **bytes**
192
+ + An array of bytes representing the seed.
193
+
194
+ #### Method fromString
195
+
196
+ Initializes the HD wallet from a given base58 encoded string.
197
+ This method decodes a provided string to set up the HD wallet's properties.
198
+
199
+ ```ts
200
+ public fromString(str: string): this
201
+ ```
202
+
203
+ Returns
204
+
205
+ The current instance with properties set from the string.
206
+
207
+ Argument Details
208
+
209
+ + **str**
210
+ + A base58 encoded string representing the wallet.
211
+
212
+ #### Method isPrivate
213
+
214
+ Checks if the HD wallet contains a private key.
215
+ This method determines whether the wallet is a private key wallet or a public key only wallet.
216
+
217
+ ```ts
218
+ public isPrivate(): boolean
219
+ ```
220
+
221
+ Returns
222
+
223
+ A boolean value indicating whether the wallet has a private key (true) or not (false).
224
+
225
+ #### Method toBinary
226
+
227
+ Converts the HD wallet into a binary representation.
228
+ This method serializes the wallet's properties into a binary format.
229
+
230
+ ```ts
231
+ public toBinary(): number[]
232
+ ```
233
+
234
+ Returns
235
+
236
+ An array of numbers representing the binary data of the wallet.
237
+
238
+ #### Method toPublic
239
+
240
+ Converts the current HD wallet to a public-only wallet.
241
+ This method strips away the private key information, leaving only the public part.
242
+
243
+ ```ts
244
+ public toPublic(): HD
245
+ ```
246
+
247
+ Returns
248
+
249
+ A new HD instance representing the public-only wallet.
250
+
251
+ #### Method toString
252
+
253
+ function toString() { [native code] }
254
+
255
+ Converts the HD wallet to a base58 encoded string.
256
+ This method provides a string representation of the HD wallet's current state.
257
+
258
+ ```ts
259
+ public toString(): string
260
+ ```
261
+
262
+ Returns
263
+
264
+ A base58 encoded string of the HD wallet.
265
+
266
+ </details>
267
+
268
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
269
+
270
+ ---
271
+ ### Class: Mnemonic
272
+
273
+ ```ts
274
+ export default class Mnemonic {
275
+ public mnemonic: string;
276
+ public seed: number[];
277
+ public Wordlist: {
278
+ value: string[];
279
+ space: string;
280
+ };
281
+ constructor(mnemonic?: string, seed?: number[], wordlist = wordList)
282
+ public toBinary(): number[]
283
+ public fromBinary(bin: number[]): this
284
+ public fromRandom(bits?: number): this
285
+ public static fromRandom(bits?: number): Mnemonic
286
+ public fromEntropy(buf: number[]): this
287
+ public static fromEntropy(buf: number[]): Mnemonic
288
+ public fromString(mnemonic: string): this
289
+ public static fromString(str: string): Mnemonic
290
+ public toString(): string
291
+ public toSeed(passphrase?: string): number[]
292
+ public entropy2Mnemonic(buf: number[]): this
293
+ public check(): boolean
294
+ public mnemonic2Seed(passphrase = ""): this
295
+ public isValid(passphrase = ""): boolean
296
+ public static isValid(mnemonic: string, passphrase = ""): boolean
297
+ }
298
+ ```
299
+
300
+ <details>
301
+
302
+ <summary>Class Mnemonic Details</summary>
303
+
304
+ #### Constructor
305
+
306
+ Constructs a Mnemonic object.
307
+
308
+ ```ts
309
+ constructor(mnemonic?: string, seed?: number[], wordlist = wordList)
310
+ ```
311
+
312
+ Argument Details
313
+
314
+ + **mnemonic**
315
+ + An optional mnemonic phrase.
316
+ + **seed**
317
+ + An optional seed derived from the mnemonic.
318
+ + **wordlist**
319
+ + An object containing a list of words and space character used in the mnemonic.
320
+
321
+ #### Method check
322
+
323
+ Validates the mnemonic phrase.
324
+ Checks for correct length, absence of invalid words, and proper checksum.
325
+
326
+ ```ts
327
+ public check(): boolean
328
+ ```
329
+
330
+ Returns
331
+
332
+ True if the mnemonic is valid, false otherwise.
333
+
334
+ Throws
335
+
336
+ If the mnemonic is not an even multiple of 11 bits.
337
+
338
+ #### Method entropy2Mnemonic
339
+
340
+ Converts entropy to a mnemonic phrase.
341
+ This method takes a buffer of entropy and converts it into a corresponding
342
+ mnemonic phrase based on the Mnemonic wordlist. The entropy should be at least 128 bits.
343
+ The method applies a checksum and maps the entropy to words in the wordlist.
344
+
345
+ ```ts
346
+ public entropy2Mnemonic(buf: number[]): this
347
+ ```
348
+
349
+ Returns
350
+
351
+ The Mnemonic instance with the mnemonic set from the entropy.
352
+
353
+ Argument Details
354
+
355
+ + **buf**
356
+ + The entropy buffer to convert. Must be at least 128 bits.
357
+
358
+ Throws
359
+
360
+ If the entropy is less than 128 bits or if it's not an even multiple of 11 bits.
361
+
362
+ #### Method fromBinary
363
+
364
+ Loads a mnemonic and seed from a binary representation.
365
+
366
+ ```ts
367
+ public fromBinary(bin: number[]): this
368
+ ```
369
+
370
+ Returns
371
+
372
+ The Mnemonic instance with loaded mnemonic and seed.
373
+
374
+ Argument Details
375
+
376
+ + **bin**
377
+ + The binary representation of a mnemonic and seed.
378
+
379
+ #### Method fromEntropy
380
+
381
+ Converts given entropy into a mnemonic phrase.
382
+ This method is used to generate a mnemonic from a specific entropy source.
383
+
384
+ ```ts
385
+ public fromEntropy(buf: number[]): this
386
+ ```
387
+
388
+ Returns
389
+
390
+ The Mnemonic instance with the mnemonic set from the given entropy.
391
+
392
+ Argument Details
393
+
394
+ + **buf**
395
+ + The entropy buffer, must be at least 128 bits.
396
+
397
+ Throws
398
+
399
+ If the entropy is less than 128 bits.
400
+
401
+ #### Method fromEntropy
402
+
403
+ Static method to create a Mnemonic instance from a given entropy.
404
+
405
+ ```ts
406
+ public static fromEntropy(buf: number[]): Mnemonic
407
+ ```
408
+
409
+ Returns
410
+
411
+ A new Mnemonic instance.
412
+
413
+ Argument Details
414
+
415
+ + **buf**
416
+ + The entropy buffer.
417
+
418
+ #### Method fromRandom
419
+
420
+ Generates a random mnemonic from a given bit length.
421
+
422
+ ```ts
423
+ public fromRandom(bits?: number): this
424
+ ```
425
+
426
+ Returns
427
+
428
+ The Mnemonic instance with the new random mnemonic.
429
+
430
+ Argument Details
431
+
432
+ + **bits**
433
+ + The bit length for the random mnemonic (must be a multiple of 32 and at least 128).
434
+
435
+ Throws
436
+
437
+ If the bit length is not a multiple of 32 or is less than 128.
438
+
439
+ #### Method fromRandom
440
+
441
+ Static method to generate a Mnemonic instance with a random mnemonic.
442
+
443
+ ```ts
444
+ public static fromRandom(bits?: number): Mnemonic
445
+ ```
446
+
447
+ Returns
448
+
449
+ A new Mnemonic instance.
450
+
451
+ Argument Details
452
+
453
+ + **bits**
454
+ + The bit length for the random mnemonic.
455
+
456
+ #### Method fromString
457
+
458
+ Sets the mnemonic for the instance from a string.
459
+
460
+ ```ts
461
+ public fromString(mnemonic: string): this
462
+ ```
463
+
464
+ Returns
465
+
466
+ The Mnemonic instance with the set mnemonic.
467
+
468
+ Argument Details
469
+
470
+ + **mnemonic**
471
+ + The mnemonic phrase as a string.
472
+
473
+ #### Method fromString
474
+
475
+ Static method to create a Mnemonic instance from a mnemonic string.
476
+
477
+ ```ts
478
+ public static fromString(str: string): Mnemonic
479
+ ```
480
+
481
+ Returns
482
+
483
+ A new Mnemonic instance.
484
+
485
+ Argument Details
486
+
487
+ + **str**
488
+ + The mnemonic phrase.
489
+
490
+ #### Method isValid
491
+
492
+ Determines the validity of a given passphrase with the mnemonic.
493
+ This method is useful for checking if a passphrase matches with the mnemonic.
494
+
495
+ ```ts
496
+ public isValid(passphrase = ""): boolean
497
+ ```
498
+
499
+ Returns
500
+
501
+ True if the mnemonic and passphrase combination is valid, false otherwise.
502
+
503
+ Argument Details
504
+
505
+ + **passphrase**
506
+ + The passphrase to validate.
507
+
508
+ #### Method isValid
509
+
510
+ Static method to check the validity of a given mnemonic and passphrase combination.
511
+
512
+ ```ts
513
+ public static isValid(mnemonic: string, passphrase = ""): boolean
514
+ ```
515
+
516
+ Returns
517
+
518
+ True if the combination is valid, false otherwise.
519
+
520
+ Argument Details
521
+
522
+ + **mnemonic**
523
+ + The mnemonic phrase.
524
+ + **passphrase**
525
+ + The passphrase to validate.
526
+
527
+ #### Method mnemonic2Seed
528
+
529
+ Converts a mnemonic to a seed.
530
+ This method takes the instance's mnemonic phrase, combines it with a passphrase (if provided),
531
+ and uses PBKDF2 to generate a seed. It also validates the mnemonic before conversion.
532
+ This seed can then be used for generating deterministic keys.
533
+
534
+ ```ts
535
+ public mnemonic2Seed(passphrase = ""): this
536
+ ```
537
+
538
+ Returns
539
+
540
+ The Mnemonic instance with the seed generated from the mnemonic.
541
+
542
+ Argument Details
543
+
544
+ + **passphrase**
545
+ + An optional passphrase for added security.
546
+
547
+ Throws
548
+
549
+ If the mnemonic does not pass validation or if the passphrase is not a string.
550
+
551
+ #### Method toBinary
552
+
553
+ Converts the mnemonic and seed into a binary representation.
554
+
555
+ ```ts
556
+ public toBinary(): number[]
557
+ ```
558
+
559
+ Returns
560
+
561
+ The binary representation of the mnemonic and seed.
562
+
563
+ #### Method toSeed
564
+
565
+ Converts the mnemonic to a seed.
566
+ The mnemonic must pass the validity check before conversion.
567
+
568
+ ```ts
569
+ public toSeed(passphrase?: string): number[]
570
+ ```
571
+
572
+ Returns
573
+
574
+ The generated seed.
575
+
576
+ Argument Details
577
+
578
+ + **passphrase**
579
+ + An optional passphrase for additional security.
580
+
581
+ Throws
582
+
583
+ If the mnemonic is invalid.
584
+
585
+ #### Method toString
586
+
587
+ function toString() { [native code] }
588
+
589
+ Converts the instance's mnemonic to a string representation.
590
+
591
+ ```ts
592
+ public toString(): string
593
+ ```
594
+
595
+ Returns
596
+
597
+ The mnemonic phrase as a string.
598
+
599
+ </details>
600
+
601
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
602
+
603
+ ---
604
+ ### Class: ECIES
605
+
606
+ ```ts
607
+ export default class ECIES {
608
+ public static ivkEkM(privKey: PrivateKey, pubKey: PublicKey): {
609
+ iv: number[];
610
+ kE: number[];
611
+ kM: number[];
612
+ }
613
+ public static electrumEncrypt(messageBuf: number[], toPublicKey: PublicKey, fromPrivateKey?: PrivateKey, noKey = false): number[]
614
+ public static electrumDecrypt(encBuf: number[], toPrivateKey: PrivateKey, fromPublicKey: PublicKey = null): number[]
615
+ public static bitcoreEncrypt(messageBuf: number[], toPublicKey: PublicKey, fromPrivateKey?: PrivateKey, ivBuf?: number[]): number[]
616
+ public static bitcoreDecrypt(encBuf: number[], toPrivateKey: PrivateKey): number[]
617
+ }
618
+ ```
619
+
620
+ <details>
621
+
622
+ <summary>Class ECIES Details</summary>
623
+
624
+ #### Method bitcoreDecrypt
625
+
626
+ Decrypts a message encrypted using the Bitcore variant of ECIES.
627
+
628
+ ```ts
629
+ public static bitcoreDecrypt(encBuf: number[], toPrivateKey: PrivateKey): number[]
630
+ ```
631
+
632
+ Returns
633
+
634
+ The decrypted message as a number array.
635
+
636
+ Argument Details
637
+
638
+ + **encBuf**
639
+ + The encrypted message buffer.
640
+ + **toPrivateKey**
641
+ + The private key of the recipient.
642
+
643
+ #### Method bitcoreEncrypt
644
+
645
+ Encrypts a given message using the Bitcore variant of ECIES.
646
+
647
+ ```ts
648
+ public static bitcoreEncrypt(messageBuf: number[], toPublicKey: PublicKey, fromPrivateKey?: PrivateKey, ivBuf?: number[]): number[]
649
+ ```
650
+
651
+ Returns
652
+
653
+ The encrypted message as a number array.
654
+
655
+ Argument Details
656
+
657
+ + **messageBuf**
658
+ + The message to be encrypted, in number array format.
659
+ + **toPublicKey**
660
+ + The public key of the recipient.
661
+ + **fromPrivateKey**
662
+ + The private key of the sender. If not provided, a random private key is used.
663
+ + **ivBuf**
664
+ + The initialization vector for encryption. If not provided, a random IV is used.
665
+
666
+ #### Method electrumDecrypt
667
+
668
+ Decrypts a message encrypted using the Electrum ECIES method.
669
+
670
+ ```ts
671
+ public static electrumDecrypt(encBuf: number[], toPrivateKey: PrivateKey, fromPublicKey: PublicKey = null): number[]
672
+ ```
673
+
674
+ Returns
675
+
676
+ The decrypted message as a number array.
677
+
678
+ Argument Details
679
+
680
+ + **encBuf**
681
+ + The encrypted message buffer.
682
+ + **toPrivateKey**
683
+ + The private key of the recipient.
684
+ + **fromPublicKey**
685
+ + The public key of the sender. If not provided, it is extracted from the message.
686
+
687
+ #### Method electrumEncrypt
688
+
689
+ Encrypts a given message using the Electrum ECIES method.
690
+
691
+ ```ts
692
+ public static electrumEncrypt(messageBuf: number[], toPublicKey: PublicKey, fromPrivateKey?: PrivateKey, noKey = false): number[]
693
+ ```
694
+
695
+ Returns
696
+
697
+ The encrypted message as a number array.
698
+
699
+ Argument Details
700
+
701
+ + **messageBuf**
702
+ + The message to be encrypted, in number array format.
703
+ + **toPublicKey**
704
+ + The public key of the recipient.
705
+ + **fromPrivateKey**
706
+ + The private key of the sender. If not provided, a random private key is used.
707
+ + **noKey**
708
+ + If true, does not include the sender's public key in the encrypted message.
709
+
710
+ #### Method ivkEkM
711
+
712
+ Generates the initialization vector (iv), encryption key (kE), and MAC key (kM)
713
+ using the sender's private key and receiver's public key.
714
+
715
+ ```ts
716
+ public static ivkEkM(privKey: PrivateKey, pubKey: PublicKey): {
717
+ iv: number[];
718
+ kE: number[];
719
+ kM: number[];
720
+ }
721
+ ```
722
+
723
+ Returns
724
+
725
+ An object containing the iv, kE, and kM as number arrays.
726
+
727
+ Argument Details
728
+
729
+ + **privKey**
730
+ + The sender's private key.
731
+ + **pubKey**
732
+ + The receiver's public key.
733
+
734
+ </details>
735
+
736
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
737
+
738
+ ---
739
+ ## Functions
740
+
741
+ ## Variables
742
+
743
+ | |
744
+ | --- |
745
+ | [magicHash](#variable-magichash) |
746
+ | [sign](#variable-sign) |
747
+ | [verify](#variable-verify) |
748
+ | [wordList](#variable-wordlist) |
749
+
750
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
751
+
752
+ ---
753
+
754
+ ### Variable: magicHash
755
+
756
+ ```ts
757
+ magicHash = (messageBuf: number[]): number[] => {
758
+ const bw = new Writer();
759
+ bw.writeVarIntNum(prefix.length);
760
+ bw.write(toArray(prefix, "utf8"));
761
+ bw.writeVarIntNum(messageBuf.length);
762
+ bw.write(messageBuf);
763
+ const buf = bw.toArray();
764
+ const hashBuf = Hash.hash256(buf) as number[];
765
+ return hashBuf;
766
+ }
767
+ ```
768
+
769
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
770
+
771
+ ---
772
+ ### Variable: sign
773
+
774
+ ```ts
775
+ sign = (message: number[], privateKey: PrivateKey): Signature => {
776
+ const hashBuf = magicHash(message);
777
+ return ECDSA.sign(new BigNumber(hashBuf), privateKey, true);
778
+ }
779
+ ```
780
+
781
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
782
+
783
+ ---
784
+ ### Variable: verify
785
+
786
+ ```ts
787
+ verify = (message: number[], sig: Signature, pubKey: PublicKey): boolean => {
788
+ const hashBuf = magicHash(message);
789
+ return ECDSA.verify(new BigNumber(hashBuf), sig, pubKey);
790
+ }
791
+ ```
792
+
793
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
794
+
795
+ ---
796
+ ### Variable: wordList
797
+
798
+ ```ts
799
+ wordList = {
800
+ value: [
801
+ "abandon",
802
+ "ability",
803
+ "able",
804
+ "about",
805
+ "above",
806
+ "absent",
807
+ "absorb",
808
+ "abstract",
809
+ "absurd",
810
+ "abuse",
811
+ "access",
812
+ "accident",
813
+ "account",
814
+ "accuse",
815
+ "achieve",
816
+ "acid",
817
+ "acoustic",
818
+ "acquire",
819
+ "across",
820
+ "act",
821
+ "action",
822
+ "actor",
823
+ "actress",
824
+ "actual",
825
+ "adapt",
826
+ "add",
827
+ "addict",
828
+ "address",
829
+ "adjust",
830
+ "admit",
831
+ "adult",
832
+ "advance",
833
+ "advice",
834
+ "aerobic",
835
+ "affair",
836
+ "afford",
837
+ "afraid",
838
+ "again",
839
+ "age",
840
+ "agent",
841
+ "agree",
842
+ "ahead",
843
+ "aim",
844
+ "air",
845
+ "airport",
846
+ "aisle",
847
+ "alarm",
848
+ "album",
849
+ "alcohol",
850
+ "alert",
851
+ "alien",
852
+ "all",
853
+ "alley",
854
+ "allow",
855
+ "almost",
856
+ "alone",
857
+ "alpha",
858
+ "already",
859
+ "also",
860
+ "alter",
861
+ "always",
862
+ "amateur",
863
+ "amazing",
864
+ "among",
865
+ "amount",
866
+ "amused",
867
+ "analyst",
868
+ "anchor",
869
+ "ancient",
870
+ "anger",
871
+ "angle",
872
+ "angry",
873
+ "animal",
874
+ "ankle",
875
+ "announce",
876
+ "annual",
877
+ "another",
878
+ "answer",
879
+ "antenna",
880
+ "antique",
881
+ "anxiety",
882
+ "any",
883
+ "apart",
884
+ "apology",
885
+ "appear",
886
+ "apple",
887
+ "approve",
888
+ "april",
889
+ "arch",
890
+ "arctic",
891
+ "area",
892
+ "arena",
893
+ "argue",
894
+ "arm",
895
+ "armed",
896
+ "armor",
897
+ "army",
898
+ "around",
899
+ "arrange",
900
+ "arrest",
901
+ "arrive",
902
+ "arrow",
903
+ "art",
904
+ "artefact",
905
+ "artist",
906
+ "artwork",
907
+ "ask",
908
+ "aspect",
909
+ "assault",
910
+ "asset",
911
+ "assist",
912
+ "assume",
913
+ "asthma",
914
+ "athlete",
915
+ "atom",
916
+ "attack",
917
+ "attend",
918
+ "attitude",
919
+ "attract",
920
+ "auction",
921
+ "audit",
922
+ "august",
923
+ "aunt",
924
+ "author",
925
+ "auto",
926
+ "autumn",
927
+ "average",
928
+ "avocado",
929
+ "avoid",
930
+ "awake",
931
+ "aware",
932
+ "away",
933
+ "awesome",
934
+ "awful",
935
+ "awkward",
936
+ "axis",
937
+ "baby",
938
+ "bachelor",
939
+ "bacon",
940
+ "badge",
941
+ "bag",
942
+ "balance",
943
+ "balcony",
944
+ "ball",
945
+ "bamboo",
946
+ "banana",
947
+ "banner",
948
+ "bar",
949
+ "barely",
950
+ "bargain",
951
+ "barrel",
952
+ "base",
953
+ "basic",
954
+ "basket",
955
+ "battle",
956
+ "beach",
957
+ "bean",
958
+ "beauty",
959
+ "because",
960
+ "become",
961
+ "beef",
962
+ "before",
963
+ "begin",
964
+ "behave",
965
+ "behind",
966
+ "believe",
967
+ "below",
968
+ "belt",
969
+ "bench",
970
+ "benefit",
971
+ "best",
972
+ "betray",
973
+ "better",
974
+ "between",
975
+ "beyond",
976
+ "bicycle",
977
+ "bid",
978
+ "bike",
979
+ "bind",
980
+ "biology",
981
+ "bird",
982
+ "birth",
983
+ "bitter",
984
+ "black",
985
+ "blade",
986
+ "blame",
987
+ "blanket",
988
+ "blast",
989
+ "bleak",
990
+ "bless",
991
+ "blind",
992
+ "blood",
993
+ "blossom",
994
+ "blouse",
995
+ "blue",
996
+ "blur",
997
+ "blush",
998
+ "board",
999
+ "boat",
1000
+ "body",
1001
+ "boil",
1002
+ "bomb",
1003
+ "bone",
1004
+ "bonus",
1005
+ "book",
1006
+ "boost",
1007
+ "border",
1008
+ "boring",
1009
+ "borrow",
1010
+ "boss",
1011
+ "bottom",
1012
+ "bounce",
1013
+ "box",
1014
+ "boy",
1015
+ "bracket",
1016
+ "brain",
1017
+ "brand",
1018
+ "brass",
1019
+ "brave",
1020
+ "bread",
1021
+ "breeze",
1022
+ "brick",
1023
+ "bridge",
1024
+ "brief",
1025
+ "bright",
1026
+ "bring",
1027
+ "brisk",
1028
+ "broccoli",
1029
+ "broken",
1030
+ "bronze",
1031
+ "broom",
1032
+ "brother",
1033
+ "brown",
1034
+ "brush",
1035
+ "bubble",
1036
+ "buddy",
1037
+ "budget",
1038
+ "buffalo",
1039
+ "build",
1040
+ "bulb",
1041
+ "bulk",
1042
+ "bullet",
1043
+ "bundle",
1044
+ "bunker",
1045
+ "burden",
1046
+ "burger",
1047
+ "burst",
1048
+ "bus",
1049
+ "business",
1050
+ "busy",
1051
+ "butter",
1052
+ "buyer",
1053
+ "buzz",
1054
+ "cabbage",
1055
+ "cabin",
1056
+ "cable",
1057
+ "cactus",
1058
+ "cage",
1059
+ "cake",
1060
+ "call",
1061
+ "calm",
1062
+ "camera",
1063
+ "camp",
1064
+ "can",
1065
+ "canal",
1066
+ "cancel",
1067
+ "candy",
1068
+ "cannon",
1069
+ "canoe",
1070
+ "canvas",
1071
+ "canyon",
1072
+ "capable",
1073
+ "capital",
1074
+ "captain",
1075
+ "car",
1076
+ "carbon",
1077
+ "card",
1078
+ "cargo",
1079
+ "carpet",
1080
+ "carry",
1081
+ "cart",
1082
+ "case",
1083
+ "cash",
1084
+ "casino",
1085
+ "castle",
1086
+ "casual",
1087
+ "cat",
1088
+ "catalog",
1089
+ "catch",
1090
+ "category",
1091
+ "cattle",
1092
+ "caught",
1093
+ "cause",
1094
+ "caution",
1095
+ "cave",
1096
+ "ceiling",
1097
+ "celery",
1098
+ "cement",
1099
+ "census",
1100
+ "century",
1101
+ "cereal",
1102
+ "certain",
1103
+ "chair",
1104
+ "chalk",
1105
+ "champion",
1106
+ "change",
1107
+ "chaos",
1108
+ "chapter",
1109
+ "charge",
1110
+ "chase",
1111
+ "chat",
1112
+ "cheap",
1113
+ "check",
1114
+ "cheese",
1115
+ "chef",
1116
+ "cherry",
1117
+ "chest",
1118
+ "chicken",
1119
+ "chief",
1120
+ "child",
1121
+ "chimney",
1122
+ "choice",
1123
+ "choose",
1124
+ "chronic",
1125
+ "chuckle",
1126
+ "chunk",
1127
+ "churn",
1128
+ "cigar",
1129
+ "cinnamon",
1130
+ "circle",
1131
+ "citizen",
1132
+ "city",
1133
+ "civil",
1134
+ "claim",
1135
+ "clap",
1136
+ "clarify",
1137
+ "claw",
1138
+ "clay",
1139
+ "clean",
1140
+ "clerk",
1141
+ "clever",
1142
+ "click",
1143
+ "client",
1144
+ "cliff",
1145
+ "climb",
1146
+ "clinic",
1147
+ "clip",
1148
+ "clock",
1149
+ "clog",
1150
+ "close",
1151
+ "cloth",
1152
+ "cloud",
1153
+ "clown",
1154
+ "club",
1155
+ "clump",
1156
+ "cluster",
1157
+ "clutch",
1158
+ "coach",
1159
+ "coast",
1160
+ "coconut",
1161
+ "code",
1162
+ "coffee",
1163
+ "coil",
1164
+ "coin",
1165
+ "collect",
1166
+ "color",
1167
+ "column",
1168
+ "combine",
1169
+ "come",
1170
+ "comfort",
1171
+ "comic",
1172
+ "common",
1173
+ "company",
1174
+ "concert",
1175
+ "conduct",
1176
+ "confirm",
1177
+ "congress",
1178
+ "connect",
1179
+ "consider",
1180
+ "control",
1181
+ "convince",
1182
+ "cook",
1183
+ "cool",
1184
+ "copper",
1185
+ "copy",
1186
+ "coral",
1187
+ "core",
1188
+ "corn",
1189
+ "correct",
1190
+ "cost",
1191
+ "cotton",
1192
+ "couch",
1193
+ "country",
1194
+ "couple",
1195
+ "course",
1196
+ "cousin",
1197
+ "cover",
1198
+ "coyote",
1199
+ "crack",
1200
+ "cradle",
1201
+ "craft",
1202
+ "cram",
1203
+ "crane",
1204
+ "crash",
1205
+ "crater",
1206
+ "crawl",
1207
+ "crazy",
1208
+ "cream",
1209
+ "credit",
1210
+ "creek",
1211
+ "crew",
1212
+ "cricket",
1213
+ "crime",
1214
+ "crisp",
1215
+ "critic",
1216
+ "crop",
1217
+ "cross",
1218
+ "crouch",
1219
+ "crowd",
1220
+ "crucial",
1221
+ "cruel",
1222
+ "cruise",
1223
+ "crumble",
1224
+ "crunch",
1225
+ "crush",
1226
+ "cry",
1227
+ "crystal",
1228
+ "cube",
1229
+ "culture",
1230
+ "cup",
1231
+ "cupboard",
1232
+ "curious",
1233
+ "current",
1234
+ "curtain",
1235
+ "curve",
1236
+ "cushion",
1237
+ "custom",
1238
+ "cute",
1239
+ "cycle",
1240
+ "dad",
1241
+ "damage",
1242
+ "damp",
1243
+ "dance",
1244
+ "danger",
1245
+ "daring",
1246
+ "dash",
1247
+ "daughter",
1248
+ "dawn",
1249
+ "day",
1250
+ "deal",
1251
+ "debate",
1252
+ "debris",
1253
+ "decade",
1254
+ "december",
1255
+ "decide",
1256
+ "decline",
1257
+ "decorate",
1258
+ "decrease",
1259
+ "deer",
1260
+ "defense",
1261
+ "define",
1262
+ "defy",
1263
+ "degree",
1264
+ "delay",
1265
+ "deliver",
1266
+ "demand",
1267
+ "demise",
1268
+ "denial",
1269
+ "dentist",
1270
+ "deny",
1271
+ "depart",
1272
+ "depend",
1273
+ "deposit",
1274
+ "depth",
1275
+ "deputy",
1276
+ "derive",
1277
+ "describe",
1278
+ "desert",
1279
+ "design",
1280
+ "desk",
1281
+ "despair",
1282
+ "destroy",
1283
+ "detail",
1284
+ "detect",
1285
+ "develop",
1286
+ "device",
1287
+ "devote",
1288
+ "diagram",
1289
+ "dial",
1290
+ "diamond",
1291
+ "diary",
1292
+ "dice",
1293
+ "diesel",
1294
+ "diet",
1295
+ "differ",
1296
+ "digital",
1297
+ "dignity",
1298
+ "dilemma",
1299
+ "dinner",
1300
+ "dinosaur",
1301
+ "direct",
1302
+ "dirt",
1303
+ "disagree",
1304
+ "discover",
1305
+ "disease",
1306
+ "dish",
1307
+ "dismiss",
1308
+ "disorder",
1309
+ "display",
1310
+ "distance",
1311
+ "divert",
1312
+ "divide",
1313
+ "divorce",
1314
+ "dizzy",
1315
+ "doctor",
1316
+ "document",
1317
+ "dog",
1318
+ "doll",
1319
+ "dolphin",
1320
+ "domain",
1321
+ "donate",
1322
+ "donkey",
1323
+ "donor",
1324
+ "door",
1325
+ "dose",
1326
+ "double",
1327
+ "dove",
1328
+ "draft",
1329
+ "dragon",
1330
+ "drama",
1331
+ "drastic",
1332
+ "draw",
1333
+ "dream",
1334
+ "dress",
1335
+ "drift",
1336
+ "drill",
1337
+ "drink",
1338
+ "drip",
1339
+ "drive",
1340
+ "drop",
1341
+ "drum",
1342
+ "dry",
1343
+ "duck",
1344
+ "dumb",
1345
+ "dune",
1346
+ "during",
1347
+ "dust",
1348
+ "dutch",
1349
+ "duty",
1350
+ "dwarf",
1351
+ "dynamic",
1352
+ "eager",
1353
+ "eagle",
1354
+ "early",
1355
+ "earn",
1356
+ "earth",
1357
+ "easily",
1358
+ "east",
1359
+ "easy",
1360
+ "echo",
1361
+ "ecology",
1362
+ "economy",
1363
+ "edge",
1364
+ "edit",
1365
+ "educate",
1366
+ "effort",
1367
+ "egg",
1368
+ "eight",
1369
+ "either",
1370
+ "elbow",
1371
+ "elder",
1372
+ "electric",
1373
+ "elegant",
1374
+ "element",
1375
+ "elephant",
1376
+ "elevator",
1377
+ "elite",
1378
+ "else",
1379
+ "embark",
1380
+ "embody",
1381
+ "embrace",
1382
+ "emerge",
1383
+ "emotion",
1384
+ "employ",
1385
+ "empower",
1386
+ "empty",
1387
+ "enable",
1388
+ "enact",
1389
+ "end",
1390
+ "endless",
1391
+ "endorse",
1392
+ "enemy",
1393
+ "energy",
1394
+ "enforce",
1395
+ "engage",
1396
+ "engine",
1397
+ "enhance",
1398
+ "enjoy",
1399
+ "enlist",
1400
+ "enough",
1401
+ "enrich",
1402
+ "enroll",
1403
+ "ensure",
1404
+ "enter",
1405
+ "entire",
1406
+ "entry",
1407
+ "envelope",
1408
+ "episode",
1409
+ "equal",
1410
+ "equip",
1411
+ "era",
1412
+ "erase",
1413
+ "erode",
1414
+ "erosion",
1415
+ "error",
1416
+ "erupt",
1417
+ "escape",
1418
+ "essay",
1419
+ "essence",
1420
+ "estate",
1421
+ "eternal",
1422
+ "ethics",
1423
+ "evidence",
1424
+ "evil",
1425
+ "evoke",
1426
+ "evolve",
1427
+ "exact",
1428
+ "example",
1429
+ "excess",
1430
+ "exchange",
1431
+ "excite",
1432
+ "exclude",
1433
+ "excuse",
1434
+ "execute",
1435
+ "exercise",
1436
+ "exhaust",
1437
+ "exhibit",
1438
+ "exile",
1439
+ "exist",
1440
+ "exit",
1441
+ "exotic",
1442
+ "expand",
1443
+ "expect",
1444
+ "expire",
1445
+ "explain",
1446
+ "expose",
1447
+ "express",
1448
+ "extend",
1449
+ "extra",
1450
+ "eye",
1451
+ "eyebrow",
1452
+ "fabric",
1453
+ "face",
1454
+ "faculty",
1455
+ "fade",
1456
+ "faint",
1457
+ "faith",
1458
+ "fall",
1459
+ "false",
1460
+ "fame",
1461
+ "family",
1462
+ "famous",
1463
+ "fan",
1464
+ "fancy",
1465
+ "fantasy",
1466
+ "farm",
1467
+ "fashion",
1468
+ "fat",
1469
+ "fatal",
1470
+ "father",
1471
+ "fatigue",
1472
+ "fault",
1473
+ "favorite",
1474
+ "feature",
1475
+ "february",
1476
+ "federal",
1477
+ "fee",
1478
+ "feed",
1479
+ "feel",
1480
+ "female",
1481
+ "fence",
1482
+ "festival",
1483
+ "fetch",
1484
+ "fever",
1485
+ "few",
1486
+ "fiber",
1487
+ "fiction",
1488
+ "field",
1489
+ "figure",
1490
+ "file",
1491
+ "film",
1492
+ "filter",
1493
+ "final",
1494
+ "find",
1495
+ "fine",
1496
+ "finger",
1497
+ "finish",
1498
+ "fire",
1499
+ "firm",
1500
+ "first",
1501
+ "fiscal",
1502
+ "fish",
1503
+ "fit",
1504
+ "fitness",
1505
+ "fix",
1506
+ "flag",
1507
+ "flame",
1508
+ "flash",
1509
+ "flat",
1510
+ "flavor",
1511
+ "flee",
1512
+ "flight",
1513
+ "flip",
1514
+ "float",
1515
+ "flock",
1516
+ "floor",
1517
+ "flower",
1518
+ "fluid",
1519
+ "flush",
1520
+ "fly",
1521
+ "foam",
1522
+ "focus",
1523
+ "fog",
1524
+ "foil",
1525
+ "fold",
1526
+ "follow",
1527
+ "food",
1528
+ "foot",
1529
+ "force",
1530
+ "forest",
1531
+ "forget",
1532
+ "fork",
1533
+ "fortune",
1534
+ "forum",
1535
+ "forward",
1536
+ "fossil",
1537
+ "foster",
1538
+ "found",
1539
+ "fox",
1540
+ "fragile",
1541
+ "frame",
1542
+ "frequent",
1543
+ "fresh",
1544
+ "friend",
1545
+ "fringe",
1546
+ "frog",
1547
+ "front",
1548
+ "frost",
1549
+ "frown",
1550
+ "frozen",
1551
+ "fruit",
1552
+ "fuel",
1553
+ "fun",
1554
+ "funny",
1555
+ "furnace",
1556
+ "fury",
1557
+ "future",
1558
+ "gadget",
1559
+ "gain",
1560
+ "galaxy",
1561
+ "gallery",
1562
+ "game",
1563
+ "gap",
1564
+ "garage",
1565
+ "garbage",
1566
+ "garden",
1567
+ "garlic",
1568
+ "garment",
1569
+ "gas",
1570
+ "gasp",
1571
+ "gate",
1572
+ "gather",
1573
+ "gauge",
1574
+ "gaze",
1575
+ "general",
1576
+ "genius",
1577
+ "genre",
1578
+ "gentle",
1579
+ "genuine",
1580
+ "gesture",
1581
+ "ghost",
1582
+ "giant",
1583
+ "gift",
1584
+ "giggle",
1585
+ "ginger",
1586
+ "giraffe",
1587
+ "girl",
1588
+ "give",
1589
+ "glad",
1590
+ "glance",
1591
+ "glare",
1592
+ "glass",
1593
+ "glide",
1594
+ "glimpse",
1595
+ "globe",
1596
+ "gloom",
1597
+ "glory",
1598
+ "glove",
1599
+ "glow",
1600
+ "glue",
1601
+ "goat",
1602
+ "goddess",
1603
+ "gold",
1604
+ "good",
1605
+ "goose",
1606
+ "gorilla",
1607
+ "gospel",
1608
+ "gossip",
1609
+ "govern",
1610
+ "gown",
1611
+ "grab",
1612
+ "grace",
1613
+ "grain",
1614
+ "grant",
1615
+ "grape",
1616
+ "grass",
1617
+ "gravity",
1618
+ "great",
1619
+ "green",
1620
+ "grid",
1621
+ "grief",
1622
+ "grit",
1623
+ "grocery",
1624
+ "group",
1625
+ "grow",
1626
+ "grunt",
1627
+ "guard",
1628
+ "guess",
1629
+ "guide",
1630
+ "guilt",
1631
+ "guitar",
1632
+ "gun",
1633
+ "gym",
1634
+ "habit",
1635
+ "hair",
1636
+ "half",
1637
+ "hammer",
1638
+ "hamster",
1639
+ "hand",
1640
+ "happy",
1641
+ "harbor",
1642
+ "hard",
1643
+ "harsh",
1644
+ "harvest",
1645
+ "hat",
1646
+ "have",
1647
+ "hawk",
1648
+ "hazard",
1649
+ "head",
1650
+ "health",
1651
+ "heart",
1652
+ "heavy",
1653
+ "hedgehog",
1654
+ "height",
1655
+ "hello",
1656
+ "helmet",
1657
+ "help",
1658
+ "hen",
1659
+ "hero",
1660
+ "hidden",
1661
+ "high",
1662
+ "hill",
1663
+ "hint",
1664
+ "hip",
1665
+ "hire",
1666
+ "history",
1667
+ "hobby",
1668
+ "hockey",
1669
+ "hold",
1670
+ "hole",
1671
+ "holiday",
1672
+ "hollow",
1673
+ "home",
1674
+ "honey",
1675
+ "hood",
1676
+ "hope",
1677
+ "horn",
1678
+ "horror",
1679
+ "horse",
1680
+ "hospital",
1681
+ "host",
1682
+ "hotel",
1683
+ "hour",
1684
+ "hover",
1685
+ "hub",
1686
+ "huge",
1687
+ "human",
1688
+ "humble",
1689
+ "humor",
1690
+ "hundred",
1691
+ "hungry",
1692
+ "hunt",
1693
+ "hurdle",
1694
+ "hurry",
1695
+ "hurt",
1696
+ "husband",
1697
+ "hybrid",
1698
+ "ice",
1699
+ "icon",
1700
+ "idea",
1701
+ "identify",
1702
+ "idle",
1703
+ "ignore",
1704
+ "ill",
1705
+ "illegal",
1706
+ "illness",
1707
+ "image",
1708
+ "imitate",
1709
+ "immense",
1710
+ "immune",
1711
+ "impact",
1712
+ "impose",
1713
+ "improve",
1714
+ "impulse",
1715
+ "inch",
1716
+ "include",
1717
+ "income",
1718
+ "increase",
1719
+ "index",
1720
+ "indicate",
1721
+ "indoor",
1722
+ "industry",
1723
+ "infant",
1724
+ "inflict",
1725
+ "inform",
1726
+ "inhale",
1727
+ "inherit",
1728
+ "initial",
1729
+ "inject",
1730
+ "injury",
1731
+ "inmate",
1732
+ "inner",
1733
+ "innocent",
1734
+ "input",
1735
+ "inquiry",
1736
+ "insane",
1737
+ "insect",
1738
+ "inside",
1739
+ "inspire",
1740
+ "install",
1741
+ "intact",
1742
+ "interest",
1743
+ "into",
1744
+ "invest",
1745
+ "invite",
1746
+ "involve",
1747
+ "iron",
1748
+ "island",
1749
+ "isolate",
1750
+ "issue",
1751
+ "item",
1752
+ "ivory",
1753
+ "jacket",
1754
+ "jaguar",
1755
+ "jar",
1756
+ "jazz",
1757
+ "jealous",
1758
+ "jeans",
1759
+ "jelly",
1760
+ "jewel",
1761
+ "job",
1762
+ "join",
1763
+ "joke",
1764
+ "journey",
1765
+ "joy",
1766
+ "judge",
1767
+ "juice",
1768
+ "jump",
1769
+ "jungle",
1770
+ "junior",
1771
+ "junk",
1772
+ "just",
1773
+ "kangaroo",
1774
+ "keen",
1775
+ "keep",
1776
+ "ketchup",
1777
+ "key",
1778
+ "kick",
1779
+ "kid",
1780
+ "kidney",
1781
+ "kind",
1782
+ "kingdom",
1783
+ "kiss",
1784
+ "kit",
1785
+ "kitchen",
1786
+ "kite",
1787
+ "kitten",
1788
+ "kiwi",
1789
+ "knee",
1790
+ "knife",
1791
+ "knock",
1792
+ "know",
1793
+ "lab",
1794
+ "label",
1795
+ "labor",
1796
+ "ladder",
1797
+ "lady",
1798
+ "lake",
1799
+ "lamp",
1800
+ "language",
1801
+ "laptop",
1802
+ "large",
1803
+ "later",
1804
+ "latin",
1805
+ "laugh",
1806
+ "laundry",
1807
+ "lava",
1808
+ "law",
1809
+ "lawn",
1810
+ "lawsuit",
1811
+ "layer",
1812
+ "lazy",
1813
+ "leader",
1814
+ "leaf",
1815
+ "learn",
1816
+ "leave",
1817
+ "lecture",
1818
+ "left",
1819
+ "leg",
1820
+ "legal",
1821
+ "legend",
1822
+ "leisure",
1823
+ "lemon",
1824
+ "lend",
1825
+ "length",
1826
+ "lens",
1827
+ "leopard",
1828
+ "lesson",
1829
+ "letter",
1830
+ "level",
1831
+ "liar",
1832
+ "liberty",
1833
+ "library",
1834
+ "license",
1835
+ "life",
1836
+ "lift",
1837
+ "light",
1838
+ "like",
1839
+ "limb",
1840
+ "limit",
1841
+ "link",
1842
+ "lion",
1843
+ "liquid",
1844
+ "list",
1845
+ "little",
1846
+ "live",
1847
+ "lizard",
1848
+ "load",
1849
+ "loan",
1850
+ "lobster",
1851
+ "local",
1852
+ "lock",
1853
+ "logic",
1854
+ "lonely",
1855
+ "long",
1856
+ "loop",
1857
+ "lottery",
1858
+ "loud",
1859
+ "lounge",
1860
+ "love",
1861
+ "loyal",
1862
+ "lucky",
1863
+ "luggage",
1864
+ "lumber",
1865
+ "lunar",
1866
+ "lunch",
1867
+ "luxury",
1868
+ "lyrics",
1869
+ "machine",
1870
+ "mad",
1871
+ "magic",
1872
+ "magnet",
1873
+ "maid",
1874
+ "mail",
1875
+ "main",
1876
+ "major",
1877
+ "make",
1878
+ "mammal",
1879
+ "man",
1880
+ "manage",
1881
+ "mandate",
1882
+ "mango",
1883
+ "mansion",
1884
+ "manual",
1885
+ "maple",
1886
+ "marble",
1887
+ "march",
1888
+ "margin",
1889
+ "marine",
1890
+ "market",
1891
+ "marriage",
1892
+ "mask",
1893
+ "mass",
1894
+ "master",
1895
+ "match",
1896
+ "material",
1897
+ "math",
1898
+ "matrix",
1899
+ "matter",
1900
+ "maximum",
1901
+ "maze",
1902
+ "meadow",
1903
+ "mean",
1904
+ "measure",
1905
+ "meat",
1906
+ "mechanic",
1907
+ "medal",
1908
+ "media",
1909
+ "melody",
1910
+ "melt",
1911
+ "member",
1912
+ "memory",
1913
+ "mention",
1914
+ "menu",
1915
+ "mercy",
1916
+ "merge",
1917
+ "merit",
1918
+ "merry",
1919
+ "mesh",
1920
+ "message",
1921
+ "metal",
1922
+ "method",
1923
+ "middle",
1924
+ "midnight",
1925
+ "milk",
1926
+ "million",
1927
+ "mimic",
1928
+ "mind",
1929
+ "minimum",
1930
+ "minor",
1931
+ "minute",
1932
+ "miracle",
1933
+ "mirror",
1934
+ "misery",
1935
+ "miss",
1936
+ "mistake",
1937
+ "mix",
1938
+ "mixed",
1939
+ "mixture",
1940
+ "mobile",
1941
+ "model",
1942
+ "modify",
1943
+ "mom",
1944
+ "moment",
1945
+ "monitor",
1946
+ "monkey",
1947
+ "monster",
1948
+ "month",
1949
+ "moon",
1950
+ "moral",
1951
+ "more",
1952
+ "morning",
1953
+ "mosquito",
1954
+ "mother",
1955
+ "motion",
1956
+ "motor",
1957
+ "mountain",
1958
+ "mouse",
1959
+ "move",
1960
+ "movie",
1961
+ "much",
1962
+ "muffin",
1963
+ "mule",
1964
+ "multiply",
1965
+ "muscle",
1966
+ "museum",
1967
+ "mushroom",
1968
+ "music",
1969
+ "must",
1970
+ "mutual",
1971
+ "myself",
1972
+ "mystery",
1973
+ "myth",
1974
+ "naive",
1975
+ "name",
1976
+ "napkin",
1977
+ "narrow",
1978
+ "nasty",
1979
+ "nation",
1980
+ "nature",
1981
+ "near",
1982
+ "neck",
1983
+ "need",
1984
+ "negative",
1985
+ "neglect",
1986
+ "neither",
1987
+ "nephew",
1988
+ "nerve",
1989
+ "nest",
1990
+ "net",
1991
+ "network",
1992
+ "neutral",
1993
+ "never",
1994
+ "news",
1995
+ "next",
1996
+ "nice",
1997
+ "night",
1998
+ "noble",
1999
+ "noise",
2000
+ "nominee",
2001
+ "noodle",
2002
+ "normal",
2003
+ "north",
2004
+ "nose",
2005
+ "notable",
2006
+ "note",
2007
+ "nothing",
2008
+ "notice",
2009
+ "novel",
2010
+ "now",
2011
+ "nuclear",
2012
+ "number",
2013
+ "nurse",
2014
+ "nut",
2015
+ "oak",
2016
+ "obey",
2017
+ "object",
2018
+ "oblige",
2019
+ "obscure",
2020
+ "observe",
2021
+ "obtain",
2022
+ "obvious",
2023
+ "occur",
2024
+ "ocean",
2025
+ "october",
2026
+ "odor",
2027
+ "off",
2028
+ "offer",
2029
+ "office",
2030
+ "often",
2031
+ "oil",
2032
+ "okay",
2033
+ "old",
2034
+ "olive",
2035
+ "olympic",
2036
+ "omit",
2037
+ "once",
2038
+ "one",
2039
+ "onion",
2040
+ "online",
2041
+ "only",
2042
+ "open",
2043
+ "opera",
2044
+ "opinion",
2045
+ "oppose",
2046
+ "option",
2047
+ "orange",
2048
+ "orbit",
2049
+ "orchard",
2050
+ "order",
2051
+ "ordinary",
2052
+ "organ",
2053
+ "orient",
2054
+ "original",
2055
+ "orphan",
2056
+ "ostrich",
2057
+ "other",
2058
+ "outdoor",
2059
+ "outer",
2060
+ "output",
2061
+ "outside",
2062
+ "oval",
2063
+ "oven",
2064
+ "over",
2065
+ "own",
2066
+ "owner",
2067
+ "oxygen",
2068
+ "oyster",
2069
+ "ozone",
2070
+ "pact",
2071
+ "paddle",
2072
+ "page",
2073
+ "pair",
2074
+ "palace",
2075
+ "palm",
2076
+ "panda",
2077
+ "panel",
2078
+ "panic",
2079
+ "panther",
2080
+ "paper",
2081
+ "parade",
2082
+ "parent",
2083
+ "park",
2084
+ "parrot",
2085
+ "party",
2086
+ "pass",
2087
+ "patch",
2088
+ "path",
2089
+ "patient",
2090
+ "patrol",
2091
+ "pattern",
2092
+ "pause",
2093
+ "pave",
2094
+ "payment",
2095
+ "peace",
2096
+ "peanut",
2097
+ "pear",
2098
+ "peasant",
2099
+ "pelican",
2100
+ "pen",
2101
+ "penalty",
2102
+ "pencil",
2103
+ "people",
2104
+ "pepper",
2105
+ "perfect",
2106
+ "permit",
2107
+ "person",
2108
+ "pet",
2109
+ "phone",
2110
+ "photo",
2111
+ "phrase",
2112
+ "physical",
2113
+ "piano",
2114
+ "picnic",
2115
+ "picture",
2116
+ "piece",
2117
+ "pig",
2118
+ "pigeon",
2119
+ "pill",
2120
+ "pilot",
2121
+ "pink",
2122
+ "pioneer",
2123
+ "pipe",
2124
+ "pistol",
2125
+ "pitch",
2126
+ "pizza",
2127
+ "place",
2128
+ "planet",
2129
+ "plastic",
2130
+ "plate",
2131
+ "play",
2132
+ "please",
2133
+ "pledge",
2134
+ "pluck",
2135
+ "plug",
2136
+ "plunge",
2137
+ "poem",
2138
+ "poet",
2139
+ "point",
2140
+ "polar",
2141
+ "pole",
2142
+ "police",
2143
+ "pond",
2144
+ "pony",
2145
+ "pool",
2146
+ "popular",
2147
+ "portion",
2148
+ "position",
2149
+ "possible",
2150
+ "post",
2151
+ "potato",
2152
+ "pottery",
2153
+ "poverty",
2154
+ "powder",
2155
+ "power",
2156
+ "practice",
2157
+ "praise",
2158
+ "predict",
2159
+ "prefer",
2160
+ "prepare",
2161
+ "present",
2162
+ "pretty",
2163
+ "prevent",
2164
+ "price",
2165
+ "pride",
2166
+ "primary",
2167
+ "print",
2168
+ "priority",
2169
+ "prison",
2170
+ "private",
2171
+ "prize",
2172
+ "problem",
2173
+ "process",
2174
+ "produce",
2175
+ "profit",
2176
+ "program",
2177
+ "project",
2178
+ "promote",
2179
+ "proof",
2180
+ "property",
2181
+ "prosper",
2182
+ "protect",
2183
+ "proud",
2184
+ "provide",
2185
+ "public",
2186
+ "pudding",
2187
+ "pull",
2188
+ "pulp",
2189
+ "pulse",
2190
+ "pumpkin",
2191
+ "punch",
2192
+ "pupil",
2193
+ "puppy",
2194
+ "purchase",
2195
+ "purity",
2196
+ "purpose",
2197
+ "purse",
2198
+ "push",
2199
+ "put",
2200
+ "puzzle",
2201
+ "pyramid",
2202
+ "quality",
2203
+ "quantum",
2204
+ "quarter",
2205
+ "question",
2206
+ "quick",
2207
+ "quit",
2208
+ "quiz",
2209
+ "quote",
2210
+ "rabbit",
2211
+ "raccoon",
2212
+ "race",
2213
+ "rack",
2214
+ "radar",
2215
+ "radio",
2216
+ "rail",
2217
+ "rain",
2218
+ "raise",
2219
+ "rally",
2220
+ "ramp",
2221
+ "ranch",
2222
+ "random",
2223
+ "range",
2224
+ "rapid",
2225
+ "rare",
2226
+ "rate",
2227
+ "rather",
2228
+ "raven",
2229
+ "raw",
2230
+ "razor",
2231
+ "ready",
2232
+ "real",
2233
+ "reason",
2234
+ "rebel",
2235
+ "rebuild",
2236
+ "recall",
2237
+ "receive",
2238
+ "recipe",
2239
+ "record",
2240
+ "recycle",
2241
+ "reduce",
2242
+ "reflect",
2243
+ "reform",
2244
+ "refuse",
2245
+ "region",
2246
+ "regret",
2247
+ "regular",
2248
+ "reject",
2249
+ "relax",
2250
+ "release",
2251
+ "relief",
2252
+ "rely",
2253
+ "remain",
2254
+ "remember",
2255
+ "remind",
2256
+ "remove",
2257
+ "render",
2258
+ "renew",
2259
+ "rent",
2260
+ "reopen",
2261
+ "repair",
2262
+ "repeat",
2263
+ "replace",
2264
+ "report",
2265
+ "require",
2266
+ "rescue",
2267
+ "resemble",
2268
+ "resist",
2269
+ "resource",
2270
+ "response",
2271
+ "result",
2272
+ "retire",
2273
+ "retreat",
2274
+ "return",
2275
+ "reunion",
2276
+ "reveal",
2277
+ "review",
2278
+ "reward",
2279
+ "rhythm",
2280
+ "rib",
2281
+ "ribbon",
2282
+ "rice",
2283
+ "rich",
2284
+ "ride",
2285
+ "ridge",
2286
+ "rifle",
2287
+ "right",
2288
+ "rigid",
2289
+ "ring",
2290
+ "riot",
2291
+ "ripple",
2292
+ "risk",
2293
+ "ritual",
2294
+ "rival",
2295
+ "river",
2296
+ "road",
2297
+ "roast",
2298
+ "robot",
2299
+ "robust",
2300
+ "rocket",
2301
+ "romance",
2302
+ "roof",
2303
+ "rookie",
2304
+ "room",
2305
+ "rose",
2306
+ "rotate",
2307
+ "rough",
2308
+ "round",
2309
+ "route",
2310
+ "royal",
2311
+ "rubber",
2312
+ "rude",
2313
+ "rug",
2314
+ "rule",
2315
+ "run",
2316
+ "runway",
2317
+ "rural",
2318
+ "sad",
2319
+ "saddle",
2320
+ "sadness",
2321
+ "safe",
2322
+ "sail",
2323
+ "salad",
2324
+ "salmon",
2325
+ "salon",
2326
+ "salt",
2327
+ "salute",
2328
+ "same",
2329
+ "sample",
2330
+ "sand",
2331
+ "satisfy",
2332
+ "satoshi",
2333
+ "sauce",
2334
+ "sausage",
2335
+ "save",
2336
+ "say",
2337
+ "scale",
2338
+ "scan",
2339
+ "scare",
2340
+ "scatter",
2341
+ "scene",
2342
+ "scheme",
2343
+ "school",
2344
+ "science",
2345
+ "scissors",
2346
+ "scorpion",
2347
+ "scout",
2348
+ "scrap",
2349
+ "screen",
2350
+ "script",
2351
+ "scrub",
2352
+ "sea",
2353
+ "search",
2354
+ "season",
2355
+ "seat",
2356
+ "second",
2357
+ "secret",
2358
+ "section",
2359
+ "security",
2360
+ "seed",
2361
+ "seek",
2362
+ "segment",
2363
+ "select",
2364
+ "sell",
2365
+ "seminar",
2366
+ "senior",
2367
+ "sense",
2368
+ "sentence",
2369
+ "series",
2370
+ "service",
2371
+ "session",
2372
+ "settle",
2373
+ "setup",
2374
+ "seven",
2375
+ "shadow",
2376
+ "shaft",
2377
+ "shallow",
2378
+ "share",
2379
+ "shed",
2380
+ "shell",
2381
+ "sheriff",
2382
+ "shield",
2383
+ "shift",
2384
+ "shine",
2385
+ "ship",
2386
+ "shiver",
2387
+ "shock",
2388
+ "shoe",
2389
+ "shoot",
2390
+ "shop",
2391
+ "short",
2392
+ "shoulder",
2393
+ "shove",
2394
+ "shrimp",
2395
+ "shrug",
2396
+ "shuffle",
2397
+ "shy",
2398
+ "sibling",
2399
+ "sick",
2400
+ "side",
2401
+ "siege",
2402
+ "sight",
2403
+ "sign",
2404
+ "silent",
2405
+ "silk",
2406
+ "silly",
2407
+ "silver",
2408
+ "similar",
2409
+ "simple",
2410
+ "since",
2411
+ "sing",
2412
+ "siren",
2413
+ "sister",
2414
+ "situate",
2415
+ "six",
2416
+ "size",
2417
+ "skate",
2418
+ "sketch",
2419
+ "ski",
2420
+ "skill",
2421
+ "skin",
2422
+ "skirt",
2423
+ "skull",
2424
+ "slab",
2425
+ "slam",
2426
+ "sleep",
2427
+ "slender",
2428
+ "slice",
2429
+ "slide",
2430
+ "slight",
2431
+ "slim",
2432
+ "slogan",
2433
+ "slot",
2434
+ "slow",
2435
+ "slush",
2436
+ "small",
2437
+ "smart",
2438
+ "smile",
2439
+ "smoke",
2440
+ "smooth",
2441
+ "snack",
2442
+ "snake",
2443
+ "snap",
2444
+ "sniff",
2445
+ "snow",
2446
+ "soap",
2447
+ "soccer",
2448
+ "social",
2449
+ "sock",
2450
+ "soda",
2451
+ "soft",
2452
+ "solar",
2453
+ "soldier",
2454
+ "solid",
2455
+ "solution",
2456
+ "solve",
2457
+ "someone",
2458
+ "song",
2459
+ "soon",
2460
+ "sorry",
2461
+ "sort",
2462
+ "soul",
2463
+ "sound",
2464
+ "soup",
2465
+ "source",
2466
+ "south",
2467
+ "space",
2468
+ "spare",
2469
+ "spatial",
2470
+ "spawn",
2471
+ "speak",
2472
+ "special",
2473
+ "speed",
2474
+ "spell",
2475
+ "spend",
2476
+ "sphere",
2477
+ "spice",
2478
+ "spider",
2479
+ "spike",
2480
+ "spin",
2481
+ "spirit",
2482
+ "split",
2483
+ "spoil",
2484
+ "sponsor",
2485
+ "spoon",
2486
+ "sport",
2487
+ "spot",
2488
+ "spray",
2489
+ "spread",
2490
+ "spring",
2491
+ "spy",
2492
+ "square",
2493
+ "squeeze",
2494
+ "squirrel",
2495
+ "stable",
2496
+ "stadium",
2497
+ "staff",
2498
+ "stage",
2499
+ "stairs",
2500
+ "stamp",
2501
+ "stand",
2502
+ "start",
2503
+ "state",
2504
+ "stay",
2505
+ "steak",
2506
+ "steel",
2507
+ "stem",
2508
+ "step",
2509
+ "stereo",
2510
+ "stick",
2511
+ "still",
2512
+ "sting",
2513
+ "stock",
2514
+ "stomach",
2515
+ "stone",
2516
+ "stool",
2517
+ "story",
2518
+ "stove",
2519
+ "strategy",
2520
+ "street",
2521
+ "strike",
2522
+ "strong",
2523
+ "struggle",
2524
+ "student",
2525
+ "stuff",
2526
+ "stumble",
2527
+ "style",
2528
+ "subject",
2529
+ "submit",
2530
+ "subway",
2531
+ "success",
2532
+ "such",
2533
+ "sudden",
2534
+ "suffer",
2535
+ "sugar",
2536
+ "suggest",
2537
+ "suit",
2538
+ "summer",
2539
+ "sun",
2540
+ "sunny",
2541
+ "sunset",
2542
+ "super",
2543
+ "supply",
2544
+ "supreme",
2545
+ "sure",
2546
+ "surface",
2547
+ "surge",
2548
+ "surprise",
2549
+ "surround",
2550
+ "survey",
2551
+ "suspect",
2552
+ "sustain",
2553
+ "swallow",
2554
+ "swamp",
2555
+ "swap",
2556
+ "swarm",
2557
+ "swear",
2558
+ "sweet",
2559
+ "swift",
2560
+ "swim",
2561
+ "swing",
2562
+ "switch",
2563
+ "sword",
2564
+ "symbol",
2565
+ "symptom",
2566
+ "syrup",
2567
+ "system",
2568
+ "table",
2569
+ "tackle",
2570
+ "tag",
2571
+ "tail",
2572
+ "talent",
2573
+ "talk",
2574
+ "tank",
2575
+ "tape",
2576
+ "target",
2577
+ "task",
2578
+ "taste",
2579
+ "tattoo",
2580
+ "taxi",
2581
+ "teach",
2582
+ "team",
2583
+ "tell",
2584
+ "ten",
2585
+ "tenant",
2586
+ "tennis",
2587
+ "tent",
2588
+ "term",
2589
+ "test",
2590
+ "text",
2591
+ "thank",
2592
+ "that",
2593
+ "theme",
2594
+ "then",
2595
+ "theory",
2596
+ "there",
2597
+ "they",
2598
+ "thing",
2599
+ "this",
2600
+ "thought",
2601
+ "three",
2602
+ "thrive",
2603
+ "throw",
2604
+ "thumb",
2605
+ "thunder",
2606
+ "ticket",
2607
+ "tide",
2608
+ "tiger",
2609
+ "tilt",
2610
+ "timber",
2611
+ "time",
2612
+ "tiny",
2613
+ "tip",
2614
+ "tired",
2615
+ "tissue",
2616
+ "title",
2617
+ "toast",
2618
+ "tobacco",
2619
+ "today",
2620
+ "toddler",
2621
+ "toe",
2622
+ "together",
2623
+ "toilet",
2624
+ "token",
2625
+ "tomato",
2626
+ "tomorrow",
2627
+ "tone",
2628
+ "tongue",
2629
+ "tonight",
2630
+ "tool",
2631
+ "tooth",
2632
+ "top",
2633
+ "topic",
2634
+ "topple",
2635
+ "torch",
2636
+ "tornado",
2637
+ "tortoise",
2638
+ "toss",
2639
+ "total",
2640
+ "tourist",
2641
+ "toward",
2642
+ "tower",
2643
+ "town",
2644
+ "toy",
2645
+ "track",
2646
+ "trade",
2647
+ "traffic",
2648
+ "tragic",
2649
+ "train",
2650
+ "transfer",
2651
+ "trap",
2652
+ "trash",
2653
+ "travel",
2654
+ "tray",
2655
+ "treat",
2656
+ "tree",
2657
+ "trend",
2658
+ "trial",
2659
+ "tribe",
2660
+ "trick",
2661
+ "trigger",
2662
+ "trim",
2663
+ "trip",
2664
+ "trophy",
2665
+ "trouble",
2666
+ "truck",
2667
+ "true",
2668
+ "truly",
2669
+ "trumpet",
2670
+ "trust",
2671
+ "truth",
2672
+ "try",
2673
+ "tube",
2674
+ "tuition",
2675
+ "tumble",
2676
+ "tuna",
2677
+ "tunnel",
2678
+ "turkey",
2679
+ "turn",
2680
+ "turtle",
2681
+ "twelve",
2682
+ "twenty",
2683
+ "twice",
2684
+ "twin",
2685
+ "twist",
2686
+ "two",
2687
+ "type",
2688
+ "typical",
2689
+ "ugly",
2690
+ "umbrella",
2691
+ "unable",
2692
+ "unaware",
2693
+ "uncle",
2694
+ "uncover",
2695
+ "under",
2696
+ "undo",
2697
+ "unfair",
2698
+ "unfold",
2699
+ "unhappy",
2700
+ "uniform",
2701
+ "unique",
2702
+ "unit",
2703
+ "universe",
2704
+ "unknown",
2705
+ "unlock",
2706
+ "until",
2707
+ "unusual",
2708
+ "unveil",
2709
+ "update",
2710
+ "upgrade",
2711
+ "uphold",
2712
+ "upon",
2713
+ "upper",
2714
+ "upset",
2715
+ "urban",
2716
+ "urge",
2717
+ "usage",
2718
+ "use",
2719
+ "used",
2720
+ "useful",
2721
+ "useless",
2722
+ "usual",
2723
+ "utility",
2724
+ "vacant",
2725
+ "vacuum",
2726
+ "vague",
2727
+ "valid",
2728
+ "valley",
2729
+ "valve",
2730
+ "van",
2731
+ "vanish",
2732
+ "vapor",
2733
+ "various",
2734
+ "vast",
2735
+ "vault",
2736
+ "vehicle",
2737
+ "velvet",
2738
+ "vendor",
2739
+ "venture",
2740
+ "venue",
2741
+ "verb",
2742
+ "verify",
2743
+ "version",
2744
+ "very",
2745
+ "vessel",
2746
+ "veteran",
2747
+ "viable",
2748
+ "vibrant",
2749
+ "vicious",
2750
+ "victory",
2751
+ "video",
2752
+ "view",
2753
+ "village",
2754
+ "vintage",
2755
+ "violin",
2756
+ "virtual",
2757
+ "virus",
2758
+ "visa",
2759
+ "visit",
2760
+ "visual",
2761
+ "vital",
2762
+ "vivid",
2763
+ "vocal",
2764
+ "voice",
2765
+ "void",
2766
+ "volcano",
2767
+ "volume",
2768
+ "vote",
2769
+ "voyage",
2770
+ "wage",
2771
+ "wagon",
2772
+ "wait",
2773
+ "walk",
2774
+ "wall",
2775
+ "walnut",
2776
+ "want",
2777
+ "warfare",
2778
+ "warm",
2779
+ "warrior",
2780
+ "wash",
2781
+ "wasp",
2782
+ "waste",
2783
+ "water",
2784
+ "wave",
2785
+ "way",
2786
+ "wealth",
2787
+ "weapon",
2788
+ "wear",
2789
+ "weasel",
2790
+ "weather",
2791
+ "web",
2792
+ "wedding",
2793
+ "weekend",
2794
+ "weird",
2795
+ "welcome",
2796
+ "west",
2797
+ "wet",
2798
+ "whale",
2799
+ "what",
2800
+ "wheat",
2801
+ "wheel",
2802
+ "when",
2803
+ "where",
2804
+ "whip",
2805
+ "whisper",
2806
+ "wide",
2807
+ "width",
2808
+ "wife",
2809
+ "wild",
2810
+ "will",
2811
+ "win",
2812
+ "window",
2813
+ "wine",
2814
+ "wing",
2815
+ "wink",
2816
+ "winner",
2817
+ "winter",
2818
+ "wire",
2819
+ "wisdom",
2820
+ "wise",
2821
+ "wish",
2822
+ "witness",
2823
+ "wolf",
2824
+ "woman",
2825
+ "wonder",
2826
+ "wood",
2827
+ "wool",
2828
+ "word",
2829
+ "work",
2830
+ "world",
2831
+ "worry",
2832
+ "worth",
2833
+ "wrap",
2834
+ "wreck",
2835
+ "wrestle",
2836
+ "wrist",
2837
+ "write",
2838
+ "wrong",
2839
+ "yard",
2840
+ "year",
2841
+ "yellow",
2842
+ "you",
2843
+ "young",
2844
+ "youth",
2845
+ "zebra",
2846
+ "zero",
2847
+ "zone",
2848
+ "zoo",
2849
+ ],
2850
+ space: " ",
2851
+ }
2852
+ ```
2853
+
2854
+ Links: [API](#api), [Classes](#classes), [Functions](#functions), [Variables](#variables)
2855
+
2856
+ ---