functionalscript 0.43.0 → 0.44.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 (1096) hide show
  1. package/README.md +53 -21
  2. package/fjs/asn.1/module.f.d.mts +123 -0
  3. package/fjs/asn.1/module.f.mjs +459 -0
  4. package/fjs/asn.1/proof.f.mjs +309 -0
  5. package/fjs/asn.1/types.d.ts +37 -0
  6. package/fjs/asn.1/types.js +6 -0
  7. package/fjs/asserts/module.f.d.mts +37 -0
  8. package/fjs/asserts/module.f.mjs +49 -0
  9. package/fjs/asserts/proof.f.mjs +19 -0
  10. package/fjs/asserts/types.d.ts +11 -0
  11. package/fjs/asserts/types.js +6 -0
  12. package/fjs/basen/base128/module.f.d.mts +22 -0
  13. package/fjs/basen/base128/module.f.mjs +51 -0
  14. package/fjs/basen/base128/proof.f.d.mts +2 -0
  15. package/fjs/basen/base128/proof.f.mjs +30 -0
  16. package/fjs/basen/base64/module.f.d.mts +14 -0
  17. package/fjs/basen/base64/module.f.mjs +71 -0
  18. package/fjs/basen/base64/proof.f.d.mts +17 -0
  19. package/fjs/basen/base64/proof.f.mjs +147 -0
  20. package/fjs/basen/cbase32/module.f.d.mts +18 -0
  21. package/fjs/basen/cbase32/module.f.mjs +61 -0
  22. package/fjs/basen/cbase32/proof.f.d.mts +8 -0
  23. package/fjs/basen/cbase32/proof.f.mjs +77 -0
  24. package/fjs/basen/module.f.d.mts +30 -0
  25. package/fjs/basen/module.f.mjs +88 -0
  26. package/fjs/basen/proof.f.mjs +69 -0
  27. package/fjs/basen/types.d.ts +14 -0
  28. package/fjs/basen/types.js +6 -0
  29. package/fjs/bnf/data/module.f.d.mts +47 -0
  30. package/fjs/bnf/data/module.f.mjs +188 -0
  31. package/fjs/bnf/data/proof.f.d.mts +13 -0
  32. package/fjs/bnf/data/proof.f.mjs +160 -0
  33. package/fjs/bnf/data/types.d.ts +35 -0
  34. package/fjs/bnf/data/types.js +6 -0
  35. package/fjs/bnf/descent/module.f.d.mts +33 -0
  36. package/fjs/bnf/descent/module.f.mjs +212 -0
  37. package/fjs/bnf/descent/proof.f.d.mts +13 -0
  38. package/fjs/bnf/descent/proof.f.mjs +351 -0
  39. package/fjs/bnf/descent/types.d.ts +71 -0
  40. package/fjs/bnf/descent/types.js +6 -0
  41. package/fjs/bnf/ll1/module.f.d.mts +41 -0
  42. package/fjs/bnf/ll1/module.f.mjs +199 -0
  43. package/fjs/bnf/ll1/proof.f.d.mts +16 -0
  44. package/fjs/bnf/ll1/proof.f.mjs +352 -0
  45. package/fjs/bnf/ll1/types.d.ts +59 -0
  46. package/fjs/bnf/ll1/types.js +6 -0
  47. package/fjs/bnf/module.f.d.mts +164 -0
  48. package/fjs/bnf/module.f.mjs +298 -0
  49. package/fjs/bnf/proof.f.d.mts +17 -0
  50. package/fjs/bnf/proof.f.mjs +89 -0
  51. package/fjs/bnf/testlib.f.d.mts +10 -0
  52. package/fjs/bnf/testlib.f.mjs +196 -0
  53. package/fjs/bnf/token_symbol/module.f.d.mts +35 -0
  54. package/fjs/bnf/token_symbol/module.f.mjs +62 -0
  55. package/fjs/bnf/token_symbol/proof.f.mjs +43 -0
  56. package/fjs/bnf/token_symbol/types.d.ts +27 -0
  57. package/fjs/bnf/token_symbol/types.js +6 -0
  58. package/fjs/bnf/types.d.ts +67 -0
  59. package/fjs/bnf/types.js +6 -0
  60. package/fjs/cas/cli/module.f.d.mts +17 -0
  61. package/fjs/cas/cli/module.f.mjs +73 -0
  62. package/fjs/cas/cli/proof.f.d.mts +18 -0
  63. package/fjs/cas/cli/proof.f.mjs +118 -0
  64. package/fjs/cas/evo/module.f.d.mts +163 -0
  65. package/fjs/cas/evo/module.f.mjs +556 -0
  66. package/fjs/cas/evo/proof.f.d.mts +55 -0
  67. package/fjs/cas/evo/proof.f.mjs +749 -0
  68. package/fjs/cas/evo/types.d.ts +111 -0
  69. package/fjs/cas/evo/types.js +7 -0
  70. package/fjs/cas/module.f.d.mts +68 -0
  71. package/fjs/cas/module.f.mjs +363 -0
  72. package/fjs/cas/proof.f.d.mts +29 -0
  73. package/fjs/cas/proof.f.mjs +371 -0
  74. package/fjs/cas/types.d.ts +35 -0
  75. package/fjs/cas/types.js +6 -0
  76. package/fjs/ci/bun/module.f.d.mts +11 -0
  77. package/fjs/ci/bun/module.f.mjs +20 -0
  78. package/fjs/ci/common/module.f.d.mts +80 -0
  79. package/fjs/ci/common/module.f.mjs +87 -0
  80. package/fjs/ci/common/types.d.ts +27 -0
  81. package/fjs/ci/config/module.f.d.mts +45 -0
  82. package/fjs/ci/config/module.f.mjs +89 -0
  83. package/fjs/ci/deno/module.f.d.mts +16 -0
  84. package/fjs/ci/deno/module.f.mjs +29 -0
  85. package/fjs/ci/deno/proof.f.d.mts +4 -0
  86. package/fjs/ci/deno/proof.f.mjs +26 -0
  87. package/fjs/ci/module.f.d.mts +19 -0
  88. package/fjs/ci/module.f.mjs +89 -0
  89. package/fjs/ci/nix/module.f.d.mts +69 -0
  90. package/fjs/ci/nix/module.f.mjs +136 -0
  91. package/fjs/ci/nix/proof.f.d.mts +28 -0
  92. package/fjs/ci/nix/proof.f.mjs +146 -0
  93. package/fjs/ci/nix/types.d.ts +16 -0
  94. package/fjs/ci/nix/types.js +6 -0
  95. package/fjs/ci/node/module.f.d.mts +48 -0
  96. package/fjs/ci/node/module.f.mjs +139 -0
  97. package/fjs/ci/node/proof.f.mjs +18 -0
  98. package/fjs/ci/proof.f.d.mts +20 -0
  99. package/fjs/ci/proof.f.mjs +219 -0
  100. package/fjs/ci/rust/module.f.d.mts +15 -0
  101. package/fjs/ci/rust/module.f.mjs +108 -0
  102. package/fjs/ci/types.d.ts +9 -0
  103. package/fjs/ci/types.js +6 -0
  104. package/fjs/cli/module.f.d.mts +16 -0
  105. package/fjs/cli/module.f.mjs +51 -0
  106. package/fjs/cli/proof.f.d.mts +16 -0
  107. package/fjs/cli/proof.f.mjs +130 -0
  108. package/fjs/cli/types.d.ts +15 -0
  109. package/fjs/cli/types.js +6 -0
  110. package/fjs/common/monoid/module.f.d.mts +87 -0
  111. package/fjs/common/monoid/module.f.mjs +104 -0
  112. package/fjs/common/monoid/proof.f.d.mts +10 -0
  113. package/fjs/common/monoid/proof.f.mjs +58 -0
  114. package/fjs/common/monoid/types.d.ts +50 -0
  115. package/fjs/common/monoid/types.js +6 -0
  116. package/fjs/crypto/hmac/module.f.d.mts +32 -0
  117. package/fjs/crypto/hmac/module.f.mjs +65 -0
  118. package/fjs/crypto/hmac/proof.f.mjs +34 -0
  119. package/fjs/crypto/pow/module.f.d.mts +43 -0
  120. package/fjs/crypto/pow/module.f.mjs +93 -0
  121. package/fjs/crypto/pow/proof.f.mjs +121 -0
  122. package/fjs/crypto/pow/types.d.ts +19 -0
  123. package/fjs/crypto/pow/types.js +6 -0
  124. package/fjs/crypto/secp/module.f.d.mts +61 -0
  125. package/fjs/crypto/secp/module.f.mjs +204 -0
  126. package/fjs/crypto/secp/proof.f.d.mts +9 -0
  127. package/fjs/crypto/secp/proof.f.mjs +137 -0
  128. package/fjs/crypto/secp/types.d.ts +36 -0
  129. package/fjs/crypto/secp/types.js +6 -0
  130. package/fjs/crypto/sha2/module.f.d.mts +80 -0
  131. package/fjs/crypto/sha2/module.f.mjs +431 -0
  132. package/fjs/crypto/sha2/proof.f.d.mts +32 -0
  133. package/fjs/crypto/sha2/proof.f.mjs +144 -0
  134. package/fjs/crypto/sha2/types.d.ts +57 -0
  135. package/fjs/crypto/sha2/types.js +6 -0
  136. package/fjs/crypto/sign/module.f.d.mts +46 -0
  137. package/fjs/crypto/sign/module.f.mjs +189 -0
  138. package/fjs/crypto/sign/proof.f.d.mts +17 -0
  139. package/fjs/crypto/sign/proof.f.mjs +604 -0
  140. package/fjs/crypto/sign/types.d.ts +13 -0
  141. package/fjs/crypto/sign/types.js +6 -0
  142. package/fjs/crypto/vdf/module.f.d.mts +15 -0
  143. package/fjs/crypto/vdf/module.f.mjs +84 -0
  144. package/fjs/crypto/vdf/proof.f.mjs +106 -0
  145. package/fjs/crypto/vdf/types.d.ts +18 -0
  146. package/fjs/crypto/vdf/types.js +6 -0
  147. package/fjs/dev/module.f.d.mts +56 -0
  148. package/fjs/dev/module.f.mjs +170 -0
  149. package/fjs/dev/package_json/module.f.d.mts +32 -0
  150. package/fjs/dev/package_json/module.f.mjs +37 -0
  151. package/fjs/dev/package_json/proof.f.mjs +32 -0
  152. package/fjs/dev/proof.f.d.mts +13 -0
  153. package/fjs/dev/proof.f.mjs +78 -0
  154. package/fjs/dev/types.d.ts +14 -0
  155. package/fjs/dev/types.js +6 -0
  156. package/fjs/dev/update/module.f.d.mts +19 -0
  157. package/fjs/dev/update/module.f.mjs +36 -0
  158. package/fjs/dev/update/proof.f.d.mts +7 -0
  159. package/fjs/dev/update/proof.f.mjs +36 -0
  160. package/fjs/djs/ast/module.f.d.mts +35 -0
  161. package/fjs/djs/ast/module.f.mjs +82 -0
  162. package/fjs/djs/ast/proof.f.mjs +48 -0
  163. package/fjs/djs/ast/types.d.ts +54 -0
  164. package/fjs/djs/ast/types.js +8 -0
  165. package/fjs/djs/examples/input.f.mjs +4 -0
  166. package/fjs/djs/examples/m.f.mjs +1 -0
  167. package/fjs/djs/module.f.d.mts +17 -0
  168. package/fjs/djs/module.f.mjs +47 -0
  169. package/fjs/djs/parser/module.f.d.mts +75 -0
  170. package/fjs/djs/parser/module.f.mjs +547 -0
  171. package/fjs/djs/parser/proof.f.mjs +543 -0
  172. package/fjs/djs/parser/types.d.ts +11 -0
  173. package/fjs/djs/parser/types.js +7 -0
  174. package/fjs/djs/proof.f.mjs +52 -0
  175. package/fjs/djs/serializer/module.f.d.mts +30 -0
  176. package/fjs/djs/serializer/module.f.mjs +206 -0
  177. package/fjs/djs/serializer/proof.f.mjs +116 -0
  178. package/fjs/djs/tokenizer/module.f.d.mts +65 -0
  179. package/fjs/djs/tokenizer/module.f.mjs +624 -0
  180. package/fjs/djs/tokenizer/proof.f.mjs +980 -0
  181. package/fjs/djs/tokenizer/types.d.ts +20 -0
  182. package/fjs/djs/tokenizer/types.js +7 -0
  183. package/fjs/djs/transpiler/module.f.d.mts +44 -0
  184. package/fjs/djs/transpiler/module.f.mjs +141 -0
  185. package/fjs/djs/transpiler/proof.f.mjs +76 -0
  186. package/fjs/djs/types.d.ts +13 -0
  187. package/fjs/djs/types.js +7 -0
  188. package/fjs/effects/eff/module.f.d.mts +10 -0
  189. package/fjs/effects/eff/module.f.mjs +68 -0
  190. package/fjs/effects/eff/proof.f.d.mts +12 -0
  191. package/fjs/effects/eff/proof.f.mjs +66 -0
  192. package/fjs/effects/eff/types.d.ts +71 -0
  193. package/fjs/effects/eff/types.js +6 -0
  194. package/fjs/effects/list/module.f.d.mts +24 -0
  195. package/fjs/effects/list/module.f.mjs +34 -0
  196. package/fjs/effects/list/types.d.ts +26 -0
  197. package/fjs/effects/list/types.js +6 -0
  198. package/fjs/effects/memory/module.f.d.mts +32 -0
  199. package/fjs/effects/memory/module.f.mjs +44 -0
  200. package/fjs/effects/memory/proof.f.d.mts +12 -0
  201. package/fjs/effects/memory/proof.f.mjs +83 -0
  202. package/fjs/effects/memory/types.d.ts +18 -0
  203. package/fjs/effects/memory/types.js +6 -0
  204. package/fjs/effects/mock/module.f.d.mts +6 -0
  205. package/fjs/effects/mock/module.f.mjs +26 -0
  206. package/fjs/effects/mock/types.d.ts +15 -0
  207. package/fjs/effects/mock/types.js +6 -0
  208. package/fjs/effects/module.d.mts +7 -0
  209. package/fjs/effects/module.f.d.mts +350 -0
  210. package/fjs/effects/module.f.mjs +382 -0
  211. package/fjs/effects/module.mjs +18 -0
  212. package/fjs/effects/node/memory/module.d.mts +24 -0
  213. package/fjs/effects/node/memory/module.mjs +59 -0
  214. package/fjs/effects/node/memory/proof.mjs +43 -0
  215. package/fjs/effects/node/module.d.mts +54 -0
  216. package/fjs/effects/node/module.f.d.mts +172 -0
  217. package/fjs/effects/node/module.f.mjs +354 -0
  218. package/fjs/effects/node/module.mjs +393 -0
  219. package/fjs/effects/node/proof.f.d.mts +76 -0
  220. package/fjs/effects/node/proof.f.mjs +444 -0
  221. package/fjs/effects/node/types.d.ts +203 -0
  222. package/fjs/effects/node/types.js +6 -0
  223. package/fjs/effects/node/virtual/module.f.d.mts +31 -0
  224. package/fjs/effects/node/virtual/module.f.mjs +434 -0
  225. package/fjs/effects/node/virtual/proof.f.d.mts +35 -0
  226. package/fjs/effects/node/virtual/proof.f.mjs +226 -0
  227. package/fjs/effects/node/virtual/types.d.ts +39 -0
  228. package/fjs/effects/node/virtual/types.js +7 -0
  229. package/fjs/effects/proof.f.d.mts +62 -0
  230. package/fjs/effects/proof.f.mjs +231 -0
  231. package/fjs/effects/types.d.ts +115 -0
  232. package/fjs/effects/types.js +6 -0
  233. package/fjs/emergent_testing/all.test.js +2 -2
  234. package/fjs/emergent_testing/example.f.d.mts +16 -0
  235. package/fjs/emergent_testing/example.f.mjs +34 -0
  236. package/fjs/emergent_testing/module.f.d.mts +150 -0
  237. package/fjs/emergent_testing/module.f.mjs +414 -0
  238. package/fjs/emergent_testing/proof.f.d.mts +97 -0
  239. package/fjs/emergent_testing/proof.f.mjs +518 -0
  240. package/fjs/emergent_testing/types.d.ts +53 -0
  241. package/fjs/emergent_testing/types.js +6 -0
  242. package/fjs/fsc/bnf.f.d.mts +3 -0
  243. package/fjs/fsc/bnf.f.mjs +77 -0
  244. package/fjs/fsc/json.f.d.mts +13 -0
  245. package/fjs/fsc/json.f.mjs +124 -0
  246. package/fjs/fsc/module.f.d.mts +14 -0
  247. package/fjs/fsc/module.f.mjs +138 -0
  248. package/fjs/fsc/proof.f.mjs +119 -0
  249. package/fjs/fsm/module.f.d.mts +27 -0
  250. package/fjs/fsm/module.f.mjs +99 -0
  251. package/fjs/fsm/proof.f.mjs +146 -0
  252. package/fjs/js/tokenizer/module.f.d.mts +19 -0
  253. package/fjs/js/tokenizer/module.f.mjs +795 -0
  254. package/fjs/js/tokenizer/proof.f.d.mts +12 -0
  255. package/fjs/js/tokenizer/proof.f.mjs +681 -0
  256. package/fjs/js/tokenizer/types.d.ts +193 -0
  257. package/fjs/js/tokenizer/types.js +6 -0
  258. package/fjs/mcp/cas/module.f.d.mts +156 -0
  259. package/fjs/mcp/cas/module.f.mjs +302 -0
  260. package/fjs/mcp/evo/module.f.d.mts +88 -0
  261. package/fjs/mcp/evo/module.f.mjs +153 -0
  262. package/fjs/mcp/evo/proof.f.d.mts +17 -0
  263. package/fjs/mcp/evo/proof.f.mjs +166 -0
  264. package/fjs/mcp/module.f.d.mts +32 -0
  265. package/fjs/mcp/module.f.mjs +96 -0
  266. package/fjs/mcp/proof.f.d.mts +46 -0
  267. package/fjs/mcp/proof.f.mjs +725 -0
  268. package/fjs/media/html/module.f.d.mts +43 -0
  269. package/fjs/media/html/module.f.mjs +167 -0
  270. package/fjs/media/html/proof.f.mjs +77 -0
  271. package/fjs/media/html/types.d.ts +19 -0
  272. package/fjs/media/html/types.js +6 -0
  273. package/fjs/media/json/module.f.d.mts +48 -0
  274. package/fjs/media/json/module.f.mjs +104 -0
  275. package/fjs/media/json/parser/module.f.d.mts +30 -0
  276. package/fjs/media/json/parser/module.f.mjs +219 -0
  277. package/fjs/media/json/parser/proof.f.d.mts +8 -0
  278. package/fjs/media/json/parser/proof.f.mjs +314 -0
  279. package/fjs/media/json/parser/types.d.ts +34 -0
  280. package/fjs/media/json/parser/types.js +6 -0
  281. package/fjs/media/json/proof.f.mjs +79 -0
  282. package/fjs/media/json/rtti/module.f.d.mts +38 -0
  283. package/fjs/media/json/rtti/module.f.mjs +51 -0
  284. package/fjs/media/json/rtti/proof.f.d.mts +26 -0
  285. package/fjs/media/json/rtti/proof.f.mjs +86 -0
  286. package/fjs/media/json/schema/module.f.d.mts +79 -0
  287. package/fjs/media/json/schema/module.f.mjs +144 -0
  288. package/fjs/media/json/schema/proof.f.d.mts +40 -0
  289. package/fjs/media/json/schema/proof.f.mjs +93 -0
  290. package/fjs/media/json/serializer/module.f.d.mts +27 -0
  291. package/fjs/media/json/serializer/module.f.mjs +131 -0
  292. package/fjs/media/json/serializer/proof.f.mjs +92 -0
  293. package/fjs/media/json/tokenizer/module.f.d.mts +17 -0
  294. package/fjs/media/json/tokenizer/module.f.mjs +77 -0
  295. package/fjs/media/json/tokenizer/proof.f.d.mts +8 -0
  296. package/fjs/media/json/tokenizer/proof.f.mjs +291 -0
  297. package/fjs/media/json/tokenizer/types.d.ts +17 -0
  298. package/fjs/media/json/tokenizer/types.js +6 -0
  299. package/fjs/media/json/types.d.ts +25 -0
  300. package/fjs/media/json/types.js +13 -0
  301. package/fjs/media/module.f.d.mts +116 -0
  302. package/fjs/media/module.f.mjs +152 -0
  303. package/fjs/media/nix/module.f.d.mts +14 -0
  304. package/fjs/media/nix/module.f.mjs +261 -0
  305. package/fjs/media/nix/proof.f.mjs +181 -0
  306. package/fjs/media/nix/types.d.ts +22 -0
  307. package/fjs/media/nix/types.js +6 -0
  308. package/fjs/media/proof.f.d.mts +19 -0
  309. package/fjs/media/proof.f.mjs +159 -0
  310. package/fjs/media/revision/module.f.d.mts +119 -0
  311. package/fjs/media/revision/module.f.mjs +166 -0
  312. package/fjs/media/revision/proof.f.d.mts +42 -0
  313. package/fjs/media/revision/proof.f.mjs +228 -0
  314. package/fjs/media/revision/types.d.ts +16 -0
  315. package/fjs/media/revision/types.js +8 -0
  316. package/fjs/media/rust/module.f.d.mts +61 -0
  317. package/fjs/media/rust/module.f.mjs +93 -0
  318. package/fjs/media/rust/proof.f.d.mts +17 -0
  319. package/fjs/media/rust/proof.f.mjs +50 -0
  320. package/fjs/media/type/module.f.d.mts +97 -0
  321. package/fjs/media/type/module.f.mjs +281 -0
  322. package/fjs/media/type/proof.f.mjs +285 -0
  323. package/fjs/media/type/types.d.ts +67 -0
  324. package/fjs/media/type/types.js +6 -0
  325. package/fjs/media/types.d.ts +26 -0
  326. package/fjs/media/types.js +7 -0
  327. package/fjs/module.f.d.mts +3 -0
  328. package/fjs/module.f.mjs +60 -0
  329. package/fjs/module.mjs +6 -0
  330. package/fjs/nanvm/module.f.d.mts +54 -0
  331. package/fjs/nanvm/module.f.mjs +240 -0
  332. package/fjs/nanvm/proof.f.d.mts +41 -0
  333. package/fjs/nanvm/proof.f.mjs +173 -0
  334. package/fjs/nanvm/rust/module.f.d.mts +54 -0
  335. package/fjs/nanvm/rust/module.f.mjs +166 -0
  336. package/fjs/nanvm/rust/proof.f.d.mts +21 -0
  337. package/fjs/nanvm/rust/proof.f.mjs +119 -0
  338. package/fjs/nanvm/types.d.ts +105 -0
  339. package/fjs/nanvm/types.js +11 -0
  340. package/fjs/nanvm/update/module.f.d.mts +23 -0
  341. package/fjs/nanvm/update/module.f.mjs +33 -0
  342. package/fjs/nanvm/update/proof.f.d.mts +9 -0
  343. package/fjs/nanvm/update/proof.f.mjs +32 -0
  344. package/fjs/path/module.f.d.mts +55 -0
  345. package/fjs/path/module.f.mjs +96 -0
  346. package/fjs/path/proof.f.mjs +125 -0
  347. package/fjs/proof.f.mjs +48 -0
  348. package/fjs/protocol/json_rpc/module.f.d.mts +127 -0
  349. package/fjs/protocol/json_rpc/module.f.mjs +112 -0
  350. package/fjs/protocol/json_rpc/proof.f.mjs +84 -0
  351. package/fjs/protocol/json_rpc/types.d.ts +30 -0
  352. package/fjs/protocol/json_rpc/types.js +8 -0
  353. package/fjs/protocol/mcp/module.f.d.mts +227 -0
  354. package/fjs/protocol/mcp/module.f.mjs +369 -0
  355. package/fjs/protocol/mcp/proof.f.d.mts +53 -0
  356. package/fjs/protocol/mcp/proof.f.mjs +312 -0
  357. package/fjs/protocol/mcp/stdio/module.f.d.mts +52 -0
  358. package/fjs/protocol/mcp/stdio/module.f.mjs +132 -0
  359. package/fjs/protocol/mcp/stdio/proof.f.d.mts +20 -0
  360. package/fjs/protocol/mcp/stdio/proof.f.mjs +190 -0
  361. package/fjs/protocol/mcp/types.d.ts +59 -0
  362. package/fjs/protocol/mcp/types.js +8 -0
  363. package/fjs/sul/id/module.f.d.mts +37 -0
  364. package/fjs/sul/id/module.f.mjs +143 -0
  365. package/fjs/sul/id/proof.f.mjs +72 -0
  366. package/fjs/sul/id/types.d.ts +8 -0
  367. package/fjs/sul/id/types.js +6 -0
  368. package/fjs/sul/level/hash/module.f.d.mts +37 -0
  369. package/fjs/sul/level/hash/module.f.mjs +61 -0
  370. package/fjs/sul/level/hash/proof.f.d.mts +15 -0
  371. package/fjs/sul/level/hash/proof.f.mjs +131 -0
  372. package/fjs/sul/level/hash/types.d.ts +20 -0
  373. package/fjs/sul/level/hash/types.js +6 -0
  374. package/fjs/sul/level/literal/module.f.d.mts +54 -0
  375. package/fjs/sul/level/literal/module.f.mjs +120 -0
  376. package/fjs/sul/level/literal/proof.f.mjs +788 -0
  377. package/fjs/sul/level/literal/types.d.ts +31 -0
  378. package/fjs/sul/level/literal/types.js +6 -0
  379. package/fjs/sul/module.f.d.mts +25 -0
  380. package/fjs/sul/module.f.mjs +69 -0
  381. package/fjs/sul/proof.f.d.mts +11 -0
  382. package/fjs/sul/proof.f.mjs +62 -0
  383. package/fjs/sul/types.d.ts +19 -0
  384. package/fjs/sul/types.js +6 -0
  385. package/fjs/text/ascii/module.f.d.mts +136 -0
  386. package/fjs/text/ascii/module.f.mjs +224 -0
  387. package/fjs/text/ascii/proof.f.mjs +16 -0
  388. package/fjs/text/code_point/module.f.d.mts +74 -0
  389. package/fjs/text/code_point/module.f.mjs +139 -0
  390. package/fjs/text/code_point/proof.f.mjs +80 -0
  391. package/fjs/text/module.f.d.mts +39 -0
  392. package/fjs/text/module.f.mjs +61 -0
  393. package/fjs/text/proof.f.mjs +48 -0
  394. package/fjs/text/sgr/module.f.d.mts +58 -0
  395. package/fjs/text/sgr/module.f.mjs +99 -0
  396. package/fjs/text/sgr/proof.f.mjs +39 -0
  397. package/fjs/text/sgr/types.d.ts +12 -0
  398. package/fjs/text/sgr/types.js +6 -0
  399. package/fjs/text/types.d.ts +13 -0
  400. package/fjs/text/types.js +6 -0
  401. package/fjs/text/utf16/module.f.d.mts +147 -0
  402. package/fjs/text/utf16/module.f.mjs +350 -0
  403. package/fjs/text/utf16/proof.f.d.mts +11 -0
  404. package/fjs/text/utf16/proof.f.mjs +158 -0
  405. package/fjs/text/utf16/types.d.ts +19 -0
  406. package/fjs/text/utf16/types.js +6 -0
  407. package/fjs/text/utf8/module.f.d.mts +69 -0
  408. package/fjs/text/utf8/module.f.mjs +280 -0
  409. package/fjs/text/utf8/proof.f.mjs +217 -0
  410. package/fjs/text/utf8/types.d.ts +26 -0
  411. package/fjs/text/utf8/types.js +6 -0
  412. package/fjs/types/array/module.f.d.mts +68 -0
  413. package/fjs/types/array/module.f.mjs +101 -0
  414. package/fjs/types/array/proof.f.mjs +98 -0
  415. package/fjs/types/array/types.d.ts +13 -0
  416. package/fjs/types/array/types.js +6 -0
  417. package/fjs/types/bigfloat/module.f.d.mts +14 -0
  418. package/fjs/types/bigfloat/module.f.mjs +99 -0
  419. package/fjs/types/bigfloat/proof.f.mjs +218 -0
  420. package/fjs/types/bigfloat/types.d.ts +6 -0
  421. package/fjs/types/bigfloat/types.js +6 -0
  422. package/fjs/types/bigint/benchmark.d.mts +1 -0
  423. package/fjs/types/bigint/benchmark.mjs +205 -0
  424. package/fjs/types/bigint/module.f.d.mts +176 -0
  425. package/fjs/types/bigint/module.f.mjs +289 -0
  426. package/fjs/types/bigint/proof.f.d.mts +39 -0
  427. package/fjs/types/bigint/proof.f.mjs +443 -0
  428. package/fjs/types/bigint/types.d.ts +14 -0
  429. package/fjs/types/bigint/types.js +6 -0
  430. package/fjs/types/bit_vec/module.f.d.mts +199 -0
  431. package/fjs/types/bit_vec/module.f.mjs +485 -0
  432. package/fjs/types/bit_vec/proof.f.mjs +495 -0
  433. package/fjs/types/bit_vec/types.d.ts +51 -0
  434. package/fjs/types/bit_vec/types.js +6 -0
  435. package/fjs/types/btree/find/module.f.d.mts +15 -0
  436. package/fjs/types/btree/find/module.f.mjs +80 -0
  437. package/fjs/types/btree/find/proof.f.d.mts +4 -0
  438. package/fjs/types/btree/find/proof.f.mjs +121 -0
  439. package/fjs/types/btree/find/types.d.ts +22 -0
  440. package/fjs/types/btree/find/types.js +6 -0
  441. package/fjs/types/btree/module.f.d.mts +10 -0
  442. package/fjs/types/btree/module.f.mjs +39 -0
  443. package/fjs/types/btree/proof.f.d.mts +14 -0
  444. package/fjs/types/btree/proof.f.mjs +85 -0
  445. package/fjs/types/btree/remove/module.f.d.mts +21 -0
  446. package/fjs/types/btree/remove/module.f.mjs +187 -0
  447. package/fjs/types/btree/remove/proof.f.mjs +472 -0
  448. package/fjs/types/btree/set/module.f.d.mts +5 -0
  449. package/fjs/types/btree/set/module.f.mjs +117 -0
  450. package/fjs/types/btree/set/proof.f.mjs +427 -0
  451. package/fjs/types/btree/types/module.f.d.mts +19 -0
  452. package/fjs/types/btree/types/module.f.mjs +19 -0
  453. package/fjs/types/btree/types/types.d.ts +14 -0
  454. package/fjs/types/btree/types/types.js +6 -0
  455. package/fjs/types/byte_set/module.f.d.mts +26 -0
  456. package/fjs/types/byte_set/module.f.mjs +66 -0
  457. package/fjs/types/byte_set/proof.f.d.mts +12 -0
  458. package/fjs/types/byte_set/proof.f.mjs +84 -0
  459. package/fjs/types/byte_set/types.d.ts +6 -0
  460. package/fjs/types/byte_set/types.js +6 -0
  461. package/fjs/types/function/compare/module.f.d.mts +44 -0
  462. package/fjs/types/function/compare/module.f.mjs +71 -0
  463. package/fjs/types/function/compare/proof.f.mjs +50 -0
  464. package/fjs/types/function/compare/types.d.ts +22 -0
  465. package/fjs/types/function/compare/types.js +6 -0
  466. package/fjs/types/function/module.f.d.mts +26 -0
  467. package/fjs/types/function/module.f.mjs +32 -0
  468. package/fjs/types/function/operator/module.f.d.mts +37 -0
  469. package/fjs/types/function/operator/module.f.mjs +55 -0
  470. package/fjs/types/function/operator/proof.f.mjs +76 -0
  471. package/fjs/types/function/operator/types.d.ts +39 -0
  472. package/fjs/types/function/operator/types.js +6 -0
  473. package/fjs/types/function/proof.f.mjs +16 -0
  474. package/fjs/types/function/types.d.ts +16 -0
  475. package/fjs/types/function/types.js +6 -0
  476. package/fjs/types/list/module.f.d.mts +88 -0
  477. package/fjs/types/list/module.f.mjs +309 -0
  478. package/fjs/types/list/proof.f.d.mts +32 -0
  479. package/fjs/types/list/proof.f.mjs +363 -0
  480. package/fjs/types/list/types.d.ts +36 -0
  481. package/fjs/types/list/types.js +6 -0
  482. package/fjs/types/map/module.f.d.mts +13 -0
  483. package/fjs/types/map/module.f.mjs +42 -0
  484. package/fjs/types/map/proof.f.mjs +25 -0
  485. package/fjs/types/nibble_set/module.f.d.mts +30 -0
  486. package/fjs/types/nibble_set/module.f.mjs +43 -0
  487. package/fjs/types/nibble_set/proof.f.mjs +59 -0
  488. package/fjs/types/nibble_set/types.d.ts +9 -0
  489. package/fjs/types/nibble_set/types.js +6 -0
  490. package/fjs/types/nominal/module.f.d.mts +9 -0
  491. package/fjs/types/nominal/module.f.mjs +16 -0
  492. package/fjs/types/nominal/proof.f.d.mts +7 -0
  493. package/fjs/types/nominal/proof.f.mjs +79 -0
  494. package/fjs/types/nominal/types.d.ts +25 -0
  495. package/fjs/types/nominal/types.js +6 -0
  496. package/fjs/types/nullable/module.f.d.mts +38 -0
  497. package/fjs/types/nullable/module.f.mjs +53 -0
  498. package/fjs/types/nullable/proof.f.mjs +34 -0
  499. package/fjs/types/nullable/types.d.ts +6 -0
  500. package/fjs/types/nullable/types.js +6 -0
  501. package/fjs/types/number/module.f.d.mts +23 -0
  502. package/fjs/types/number/module.f.mjs +55 -0
  503. package/fjs/types/number/proof.f.mjs +204 -0
  504. package/fjs/types/object/module.f.d.mts +33 -0
  505. package/fjs/types/object/module.f.mjs +58 -0
  506. package/fjs/types/object/proof.f.d.mts +25 -0
  507. package/fjs/types/object/proof.f.mjs +26 -0
  508. package/fjs/types/object/types.d.ts +50 -0
  509. package/fjs/types/object/types.js +8 -0
  510. package/fjs/types/ordered_map/module.f.d.mts +21 -0
  511. package/fjs/types/ordered_map/module.f.mjs +54 -0
  512. package/fjs/types/ordered_map/proof.f.mjs +88 -0
  513. package/fjs/types/ordered_map/types.d.ts +8 -0
  514. package/fjs/types/ordered_map/types.js +6 -0
  515. package/fjs/types/patricia_trie/module.f.d.mts +19 -0
  516. package/fjs/types/patricia_trie/module.f.mjs +43 -0
  517. package/fjs/types/patricia_trie/proof.f.d.mts +14 -0
  518. package/fjs/types/patricia_trie/proof.f.mjs +148 -0
  519. package/fjs/types/patricia_trie/types.d.ts +34 -0
  520. package/fjs/types/patricia_trie/types.js +6 -0
  521. package/fjs/types/prime_field/module.f.d.mts +42 -0
  522. package/fjs/types/prime_field/module.f.mjs +136 -0
  523. package/fjs/types/prime_field/proof.f.mjs +131 -0
  524. package/fjs/types/prime_field/types.d.ts +38 -0
  525. package/fjs/types/prime_field/types.js +6 -0
  526. package/fjs/types/range/module.f.d.mts +11 -0
  527. package/fjs/types/range/module.f.mjs +13 -0
  528. package/fjs/types/range/proof.f.mjs +10 -0
  529. package/fjs/types/range/types.d.ts +6 -0
  530. package/fjs/types/range/types.js +6 -0
  531. package/fjs/types/range_map/module.f.d.mts +72 -0
  532. package/fjs/types/range_map/module.f.mjs +130 -0
  533. package/fjs/types/range_map/proof.f.d.mts +7 -0
  534. package/fjs/types/range_map/proof.f.mjs +186 -0
  535. package/fjs/types/range_map/types.d.ts +56 -0
  536. package/fjs/types/range_map/types.js +6 -0
  537. package/fjs/types/range_set/module.f.d.mts +5 -0
  538. package/fjs/types/range_set/module.f.mjs +19 -0
  539. package/fjs/types/range_set/proof.f.mjs +26 -0
  540. package/fjs/types/result/module.d.mts +5 -0
  541. package/fjs/types/result/module.f.d.mts +59 -0
  542. package/fjs/types/result/module.f.mjs +67 -0
  543. package/fjs/types/result/module.mjs +22 -0
  544. package/fjs/types/result/proof.f.mjs +41 -0
  545. package/fjs/types/result/types.d.ts +17 -0
  546. package/fjs/types/result/types.js +6 -0
  547. package/fjs/types/rtti/common/module.f.d.mts +86 -0
  548. package/fjs/types/rtti/common/module.f.mjs +183 -0
  549. package/fjs/types/rtti/common/proof.f.d.mts +9 -0
  550. package/fjs/types/rtti/common/proof.f.mjs +64 -0
  551. package/fjs/types/rtti/common/types.d.ts +43 -0
  552. package/fjs/types/rtti/common/types.js +1 -0
  553. package/fjs/types/rtti/module.f.d.mts +76 -0
  554. package/fjs/types/rtti/module.f.mjs +110 -0
  555. package/fjs/types/rtti/parse/module.f.d.mts +9 -0
  556. package/fjs/types/rtti/parse/module.f.mjs +196 -0
  557. package/fjs/types/rtti/parse/proof.f.d.mts +122 -0
  558. package/fjs/types/rtti/parse/proof.f.mjs +363 -0
  559. package/fjs/types/rtti/parse/types.d.ts +12 -0
  560. package/fjs/types/rtti/parse/types.js +1 -0
  561. package/fjs/types/rtti/proof.f.d.mts +8 -0
  562. package/fjs/types/rtti/proof.f.mjs +20 -0
  563. package/fjs/types/rtti/ts/module.f.d.mts +34 -0
  564. package/fjs/types/rtti/ts/module.f.mjs +64 -0
  565. package/fjs/types/rtti/ts/proof.f.mjs +88 -0
  566. package/fjs/types/rtti/ts/types.d.ts +88 -0
  567. package/fjs/types/rtti/ts/types.js +1 -0
  568. package/fjs/types/rtti/types.d.ts +43 -0
  569. package/fjs/types/rtti/types.js +1 -0
  570. package/fjs/types/rtti/validate/module.f.d.mts +6 -0
  571. package/fjs/types/rtti/validate/module.f.mjs +169 -0
  572. package/fjs/types/rtti/validate/proof.f.d.mts +125 -0
  573. package/fjs/types/rtti/validate/proof.f.mjs +437 -0
  574. package/fjs/types/rtti/validate/types.d.ts +6 -0
  575. package/fjs/types/rtti/validate/types.js +1 -0
  576. package/fjs/types/sorted_list/module.f.d.mts +43 -0
  577. package/fjs/types/sorted_list/module.f.mjs +110 -0
  578. package/fjs/types/sorted_list/proof.f.d.mts +5 -0
  579. package/fjs/types/sorted_list/proof.f.mjs +52 -0
  580. package/fjs/types/sorted_list/types.d.ts +15 -0
  581. package/fjs/types/sorted_list/types.js +6 -0
  582. package/fjs/types/sorted_set/module.f.d.mts +24 -0
  583. package/fjs/types/sorted_set/module.f.mjs +56 -0
  584. package/fjs/types/sorted_set/proof.f.d.mts +7 -0
  585. package/fjs/types/sorted_set/proof.f.mjs +77 -0
  586. package/fjs/types/sorted_set/types.d.ts +6 -0
  587. package/fjs/types/sorted_set/types.js +6 -0
  588. package/fjs/types/string/module.f.d.mts +36 -0
  589. package/fjs/types/string/module.f.mjs +58 -0
  590. package/fjs/types/string/proof.f.mjs +76 -0
  591. package/fjs/types/string_set/module.f.d.mts +37 -0
  592. package/fjs/types/string_set/module.f.mjs +53 -0
  593. package/fjs/types/string_set/proof.f.mjs +46 -0
  594. package/fjs/types/string_set/types.d.ts +7 -0
  595. package/fjs/types/string_set/types.js +6 -0
  596. package/fjs/types/ts/module.f.d.mts +20 -0
  597. package/fjs/types/ts/module.f.mjs +51 -0
  598. package/fjs/types/ts/proof.f.mjs +97 -0
  599. package/fjs/types/ts/types.d.ts +16 -0
  600. package/fjs/types/ts/types.js +8 -0
  601. package/fjs/types/uint8array/module.f.d.mts +31 -0
  602. package/fjs/types/uint8array/module.f.mjs +53 -0
  603. package/fjs/types/uint8array/proof.f.d.mts +17 -0
  604. package/fjs/types/uint8array/proof.f.mjs +73 -0
  605. package/fjs/website/module.f.d.mts +8 -0
  606. package/fjs/website/module.f.mjs +24 -0
  607. package/fjs/website/proof.f.mjs +14 -0
  608. package/package.json +12 -10
  609. package/todo/proof.f.d.mts +22 -0
  610. package/todo/proof.f.mjs +59 -0
  611. package/fjs/asn.1/module.f.d.ts +0 -62
  612. package/fjs/asn.1/module.f.js +0 -278
  613. package/fjs/asn.1/proof.f.js +0 -285
  614. package/fjs/asserts/module.f.d.ts +0 -36
  615. package/fjs/asserts/module.f.js +0 -39
  616. package/fjs/asserts/proof.f.js +0 -18
  617. package/fjs/base_n/module.f.d.ts +0 -45
  618. package/fjs/base_n/module.f.js +0 -72
  619. package/fjs/base_n/proof.f.js +0 -73
  620. package/fjs/basen/base128/module.f.d.ts +0 -20
  621. package/fjs/basen/base128/module.f.js +0 -43
  622. package/fjs/basen/base128/proof.f.js +0 -26
  623. package/fjs/basen/base64/module.f.d.ts +0 -9
  624. package/fjs/basen/base64/module.f.js +0 -71
  625. package/fjs/basen/base64/proof.f.d.ts +0 -16
  626. package/fjs/basen/base64/proof.f.js +0 -139
  627. package/fjs/basen/cbase32/module.f.d.ts +0 -11
  628. package/fjs/basen/cbase32/module.f.js +0 -55
  629. package/fjs/basen/cbase32/proof.f.d.ts +0 -7
  630. package/fjs/basen/cbase32/proof.f.js +0 -62
  631. package/fjs/bnf/data/module.f.d.ts +0 -52
  632. package/fjs/bnf/data/module.f.js +0 -143
  633. package/fjs/bnf/data/proof.f.d.ts +0 -8
  634. package/fjs/bnf/data/proof.f.js +0 -169
  635. package/fjs/bnf/descent/module.f.d.ts +0 -87
  636. package/fjs/bnf/descent/module.f.js +0 -149
  637. package/fjs/bnf/descent/proof.f.d.ts +0 -7
  638. package/fjs/bnf/descent/proof.f.js +0 -368
  639. package/fjs/bnf/ll1/module.f.d.ts +0 -72
  640. package/fjs/bnf/ll1/module.f.js +0 -155
  641. package/fjs/bnf/ll1/proof.f.d.ts +0 -10
  642. package/fjs/bnf/ll1/proof.f.js +0 -375
  643. package/fjs/bnf/module.f.d.ts +0 -165
  644. package/fjs/bnf/module.f.js +0 -174
  645. package/fjs/bnf/proof.f.d.ts +0 -12
  646. package/fjs/bnf/proof.f.js +0 -69
  647. package/fjs/bnf/testlib.f.d.ts +0 -3
  648. package/fjs/bnf/testlib.f.js +0 -138
  649. package/fjs/bnf/token_symbol/module.f.d.ts +0 -38
  650. package/fjs/bnf/token_symbol/module.f.js +0 -48
  651. package/fjs/bnf/token_symbol/proof.f.js +0 -37
  652. package/fjs/cas/cli/module.f.d.ts +0 -6
  653. package/fjs/cas/cli/module.f.js +0 -53
  654. package/fjs/cas/cli/proof.f.d.ts +0 -17
  655. package/fjs/cas/cli/proof.f.js +0 -112
  656. package/fjs/cas/evo/module.f.d.ts +0 -222
  657. package/fjs/cas/evo/module.f.js +0 -454
  658. package/fjs/cas/evo/proof.f.d.ts +0 -43
  659. package/fjs/cas/evo/proof.f.js +0 -653
  660. package/fjs/cas/module.f.d.ts +0 -64
  661. package/fjs/cas/module.f.js +0 -255
  662. package/fjs/cas/proof.f.d.ts +0 -18
  663. package/fjs/cas/proof.f.js +0 -305
  664. package/fjs/ci/bun/module.f.d.ts +0 -2
  665. package/fjs/ci/bun/module.f.js +0 -15
  666. package/fjs/ci/common/module.f.d.ts +0 -88
  667. package/fjs/ci/common/module.f.js +0 -63
  668. package/fjs/ci/config/module.f.d.ts +0 -45
  669. package/fjs/ci/config/module.f.js +0 -80
  670. package/fjs/ci/deno/module.f.d.ts +0 -10
  671. package/fjs/ci/deno/module.f.js +0 -28
  672. package/fjs/ci/deno/proof.f.d.ts +0 -5
  673. package/fjs/ci/deno/proof.f.js +0 -26
  674. package/fjs/ci/module.f.d.ts +0 -13
  675. package/fjs/ci/module.f.js +0 -58
  676. package/fjs/ci/nix/module.f.d.ts +0 -61
  677. package/fjs/ci/nix/module.f.js +0 -92
  678. package/fjs/ci/nix/proof.f.d.ts +0 -23
  679. package/fjs/ci/nix/proof.f.js +0 -109
  680. package/fjs/ci/node/module.f.d.ts +0 -28
  681. package/fjs/ci/node/module.f.js +0 -92
  682. package/fjs/ci/node/proof.f.js +0 -17
  683. package/fjs/ci/proof.f.d.ts +0 -18
  684. package/fjs/ci/proof.f.js +0 -182
  685. package/fjs/ci/rust/module.f.d.ts +0 -3
  686. package/fjs/ci/rust/module.f.js +0 -75
  687. package/fjs/cli/module.f.d.ts +0 -11
  688. package/fjs/cli/module.f.js +0 -34
  689. package/fjs/cli/proof.f.d.ts +0 -14
  690. package/fjs/cli/proof.f.js +0 -111
  691. package/fjs/common/monoid/module.f.d.ts +0 -126
  692. package/fjs/common/monoid/module.f.js +0 -88
  693. package/fjs/common/monoid/proof.f.d.ts +0 -9
  694. package/fjs/common/monoid/proof.f.js +0 -48
  695. package/fjs/crypto/hmac/module.f.d.ts +0 -29
  696. package/fjs/crypto/hmac/module.f.js +0 -56
  697. package/fjs/crypto/hmac/proof.f.js +0 -32
  698. package/fjs/crypto/pow/module.f.d.ts +0 -37
  699. package/fjs/crypto/pow/module.f.js +0 -72
  700. package/fjs/crypto/pow/proof.f.js +0 -111
  701. package/fjs/crypto/secp/module.f.d.ts +0 -85
  702. package/fjs/crypto/secp/module.f.js +0 -176
  703. package/fjs/crypto/secp/proof.f.d.ts +0 -8
  704. package/fjs/crypto/secp/proof.f.js +0 -124
  705. package/fjs/crypto/sha2/module.f.d.ts +0 -102
  706. package/fjs/crypto/sha2/module.f.js +0 -266
  707. package/fjs/crypto/sha2/proof.f.d.ts +0 -31
  708. package/fjs/crypto/sha2/proof.f.js +0 -139
  709. package/fjs/crypto/sign/module.f.d.ts +0 -33
  710. package/fjs/crypto/sign/module.f.js +0 -163
  711. package/fjs/crypto/sign/proof.f.d.ts +0 -11
  712. package/fjs/crypto/sign/proof.f.js +0 -562
  713. package/fjs/crypto/vdf/module.f.d.ts +0 -21
  714. package/fjs/crypto/vdf/module.f.js +0 -57
  715. package/fjs/crypto/vdf/proof.f.js +0 -94
  716. package/fjs/dev/module.f.d.ts +0 -57
  717. package/fjs/dev/module.f.js +0 -135
  718. package/fjs/dev/package_json/module.f.d.ts +0 -16
  719. package/fjs/dev/package_json/module.f.js +0 -24
  720. package/fjs/dev/package_json/proof.f.js +0 -28
  721. package/fjs/dev/proof.f.d.ts +0 -13
  722. package/fjs/dev/proof.f.js +0 -77
  723. package/fjs/dev/update/module.f.d.ts +0 -11
  724. package/fjs/dev/update/module.f.js +0 -20
  725. package/fjs/dev/update/proof.f.d.ts +0 -7
  726. package/fjs/dev/update/proof.f.js +0 -35
  727. package/fjs/djs/ast/module.f.d.ts +0 -62
  728. package/fjs/djs/ast/module.f.js +0 -61
  729. package/fjs/djs/ast/proof.f.js +0 -49
  730. package/fjs/djs/examples/input.f.js +0 -4
  731. package/fjs/djs/examples/m.f.js +0 -1
  732. package/fjs/djs/module.f.d.ts +0 -17
  733. package/fjs/djs/module.f.js +0 -22
  734. package/fjs/djs/parser/module.f.d.ts +0 -23
  735. package/fjs/djs/parser/module.f.js +0 -410
  736. package/fjs/djs/parser/proof.f.js +0 -556
  737. package/fjs/djs/proof.f.js +0 -50
  738. package/fjs/djs/serializer/module.f.d.ts +0 -17
  739. package/fjs/djs/serializer/module.f.js +0 -173
  740. package/fjs/djs/serializer/proof.f.js +0 -133
  741. package/fjs/djs/tokenizer/module.f.d.ts +0 -24
  742. package/fjs/djs/tokenizer/module.f.js +0 -472
  743. package/fjs/djs/tokenizer/proof.f.js +0 -1211
  744. package/fjs/djs/transpiler/module.f.d.ts +0 -41
  745. package/fjs/djs/transpiler/module.f.js +0 -88
  746. package/fjs/djs/transpiler/proof.f.js +0 -67
  747. package/fjs/effects/eff/module.f.d.ts +0 -72
  748. package/fjs/effects/eff/module.f.js +0 -46
  749. package/fjs/effects/eff/proof.f.d.ts +0 -11
  750. package/fjs/effects/eff/proof.f.js +0 -58
  751. package/fjs/effects/list/module.f.d.ts +0 -37
  752. package/fjs/effects/list/module.f.js +0 -17
  753. package/fjs/effects/memory/module.f.d.ts +0 -37
  754. package/fjs/effects/memory/module.f.js +0 -24
  755. package/fjs/effects/memory/proof.f.d.ts +0 -6
  756. package/fjs/effects/memory/proof.f.js +0 -50
  757. package/fjs/effects/mock/module.f.d.ts +0 -16
  758. package/fjs/effects/mock/module.f.js +0 -20
  759. package/fjs/effects/module.d.ts +0 -2
  760. package/fjs/effects/module.f.d.ts +0 -408
  761. package/fjs/effects/module.f.js +0 -312
  762. package/fjs/effects/module.js +0 -11
  763. package/fjs/effects/node/memory/module.d.ts +0 -20
  764. package/fjs/effects/node/memory/module.js +0 -44
  765. package/fjs/effects/node/memory/proof.js +0 -29
  766. package/fjs/effects/node/module.d.ts +0 -20
  767. package/fjs/effects/node/module.f.d.ts +0 -300
  768. package/fjs/effects/node/module.f.js +0 -171
  769. package/fjs/effects/node/module.js +0 -305
  770. package/fjs/effects/node/proof.f.d.ts +0 -69
  771. package/fjs/effects/node/proof.f.js +0 -409
  772. package/fjs/effects/node/virtual/module.f.d.ts +0 -49
  773. package/fjs/effects/node/virtual/module.f.js +0 -440
  774. package/fjs/effects/node/virtual/proof.f.d.ts +0 -33
  775. package/fjs/effects/node/virtual/proof.f.js +0 -186
  776. package/fjs/effects/proof.f.d.ts +0 -56
  777. package/fjs/effects/proof.f.js +0 -200
  778. package/fjs/emergent_testing/example.f.d.ts +0 -13
  779. package/fjs/emergent_testing/example.f.js +0 -31
  780. package/fjs/emergent_testing/module.f.d.ts +0 -140
  781. package/fjs/emergent_testing/module.f.js +0 -289
  782. package/fjs/emergent_testing/proof.f.d.ts +0 -67
  783. package/fjs/emergent_testing/proof.f.js +0 -416
  784. package/fjs/fsc/bnf.f.d.ts +0 -2
  785. package/fjs/fsc/bnf.f.js +0 -42
  786. package/fjs/fsc/json.f.d.ts +0 -7
  787. package/fjs/fsc/json.f.js +0 -64
  788. package/fjs/fsc/module.f.d.ts +0 -11
  789. package/fjs/fsc/module.f.js +0 -73
  790. package/fjs/fsc/proof.f.js +0 -104
  791. package/fjs/fsm/module.f.d.ts +0 -17
  792. package/fjs/fsm/module.f.js +0 -55
  793. package/fjs/fsm/proof.f.js +0 -126
  794. package/fjs/js/tokenizer/module.f.d.ts +0 -104
  795. package/fjs/js/tokenizer/module.f.js +0 -547
  796. package/fjs/js/tokenizer/proof.f.d.ts +0 -9
  797. package/fjs/js/tokenizer/proof.f.js +0 -986
  798. package/fjs/mcp/cas/module.f.d.ts +0 -27
  799. package/fjs/mcp/cas/module.f.js +0 -232
  800. package/fjs/mcp/evo/module.f.d.ts +0 -32
  801. package/fjs/mcp/evo/module.f.js +0 -99
  802. package/fjs/mcp/evo/proof.f.d.ts +0 -12
  803. package/fjs/mcp/evo/proof.f.js +0 -147
  804. package/fjs/mcp/module.f.d.ts +0 -56
  805. package/fjs/mcp/module.f.js +0 -69
  806. package/fjs/mcp/proof.f.d.ts +0 -45
  807. package/fjs/mcp/proof.f.js +0 -535
  808. package/fjs/media/html/module.f.d.ts +0 -52
  809. package/fjs/media/html/module.f.js +0 -117
  810. package/fjs/media/html/proof.f.js +0 -65
  811. package/fjs/media/json/module.f.d.ts +0 -64
  812. package/fjs/media/json/module.f.js +0 -109
  813. package/fjs/media/json/parser/module.f.d.ts +0 -21
  814. package/fjs/media/json/parser/module.f.js +0 -194
  815. package/fjs/media/json/parser/proof.f.d.ts +0 -5
  816. package/fjs/media/json/parser/proof.f.js +0 -314
  817. package/fjs/media/json/proof.f.js +0 -98
  818. package/fjs/media/json/schema/module.f.d.ts +0 -78
  819. package/fjs/media/json/schema/module.f.js +0 -96
  820. package/fjs/media/json/schema/proof.f.d.ts +0 -36
  821. package/fjs/media/json/schema/proof.f.js +0 -83
  822. package/fjs/media/json/serializer/module.f.d.ts +0 -28
  823. package/fjs/media/json/serializer/module.f.js +0 -73
  824. package/fjs/media/json/serializer/proof.f.js +0 -94
  825. package/fjs/media/json/tokenizer/module.f.d.ts +0 -15
  826. package/fjs/media/json/tokenizer/module.f.js +0 -63
  827. package/fjs/media/json/tokenizer/proof.f.d.ts +0 -5
  828. package/fjs/media/json/tokenizer/proof.f.js +0 -417
  829. package/fjs/media/module.f.d.ts +0 -119
  830. package/fjs/media/module.f.js +0 -88
  831. package/fjs/media/nix/module.f.d.ts +0 -30
  832. package/fjs/media/nix/module.f.js +0 -166
  833. package/fjs/media/nix/proof.f.js +0 -127
  834. package/fjs/media/proof.f.d.ts +0 -19
  835. package/fjs/media/proof.f.js +0 -127
  836. package/fjs/media/revision/module.f.d.ts +0 -86
  837. package/fjs/media/revision/module.f.js +0 -131
  838. package/fjs/media/revision/proof.f.d.ts +0 -31
  839. package/fjs/media/revision/proof.f.js +0 -140
  840. package/fjs/media/type/module.f.d.ts +0 -135
  841. package/fjs/media/type/module.f.js +0 -231
  842. package/fjs/media/type/proof.f.js +0 -213
  843. package/fjs/module.f.d.ts +0 -2
  844. package/fjs/module.f.js +0 -50
  845. package/fjs/module.js +0 -4
  846. package/fjs/path/module.f.d.ts +0 -46
  847. package/fjs/path/module.f.js +0 -71
  848. package/fjs/path/proof.f.js +0 -119
  849. package/fjs/proof.f.js +0 -38
  850. package/fjs/protocol/json_rpc/module.f.d.ts +0 -114
  851. package/fjs/protocol/json_rpc/module.f.js +0 -89
  852. package/fjs/protocol/json_rpc/proof.f.js +0 -68
  853. package/fjs/protocol/mcp/module.f.d.ts +0 -239
  854. package/fjs/protocol/mcp/module.f.js +0 -272
  855. package/fjs/protocol/mcp/proof.f.d.ts +0 -34
  856. package/fjs/protocol/mcp/proof.f.js +0 -208
  857. package/fjs/protocol/mcp/stdio/module.f.d.ts +0 -47
  858. package/fjs/protocol/mcp/stdio/module.f.js +0 -78
  859. package/fjs/protocol/mcp/stdio/proof.f.d.ts +0 -13
  860. package/fjs/protocol/mcp/stdio/proof.f.js +0 -143
  861. package/fjs/sul/id/module.f.d.ts +0 -33
  862. package/fjs/sul/id/module.f.js +0 -93
  863. package/fjs/sul/id/proof.f.js +0 -61
  864. package/fjs/sul/level/hash/module.f.d.ts +0 -38
  865. package/fjs/sul/level/hash/module.f.js +0 -43
  866. package/fjs/sul/level/hash/proof.f.d.ts +0 -13
  867. package/fjs/sul/level/hash/proof.f.js +0 -112
  868. package/fjs/sul/level/literal/module.f.d.ts +0 -64
  869. package/fjs/sul/level/literal/module.f.js +0 -88
  870. package/fjs/sul/level/literal/proof.f.js +0 -714
  871. package/fjs/sul/module.f.d.ts +0 -23
  872. package/fjs/sul/module.f.js +0 -46
  873. package/fjs/sul/proof.f.d.ts +0 -9
  874. package/fjs/sul/proof.f.js +0 -47
  875. package/fjs/text/ascii/module.f.d.ts +0 -136
  876. package/fjs/text/ascii/module.f.js +0 -154
  877. package/fjs/text/ascii/proof.f.js +0 -14
  878. package/fjs/text/code_point/module.f.d.ts +0 -65
  879. package/fjs/text/code_point/module.f.js +0 -103
  880. package/fjs/text/code_point/proof.f.js +0 -72
  881. package/fjs/text/module.f.d.ts +0 -40
  882. package/fjs/text/module.f.js +0 -43
  883. package/fjs/text/proof.f.js +0 -44
  884. package/fjs/text/sgr/module.f.d.ts +0 -53
  885. package/fjs/text/sgr/module.f.js +0 -63
  886. package/fjs/text/sgr/proof.f.js +0 -33
  887. package/fjs/text/utf16/module.f.d.ts +0 -161
  888. package/fjs/text/utf16/module.f.js +0 -311
  889. package/fjs/text/utf16/proof.f.d.ts +0 -10
  890. package/fjs/text/utf16/proof.f.js +0 -144
  891. package/fjs/text/utf8/module.f.d.ts +0 -83
  892. package/fjs/text/utf8/module.f.js +0 -247
  893. package/fjs/text/utf8/proof.f.js +0 -217
  894. package/fjs/types/array/module.f.d.ts +0 -49
  895. package/fjs/types/array/module.f.js +0 -42
  896. package/fjs/types/array/proof.f.js +0 -92
  897. package/fjs/types/bigfloat/module.f.d.ts +0 -6
  898. package/fjs/types/bigfloat/module.f.js +0 -69
  899. package/fjs/types/bigfloat/proof.f.js +0 -217
  900. package/fjs/types/bigint/module.f.d.ts +0 -172
  901. package/fjs/types/bigint/module.f.js +0 -251
  902. package/fjs/types/bigint/proof.f.d.ts +0 -37
  903. package/fjs/types/bigint/proof.f.js +0 -400
  904. package/fjs/types/bit_vec/module.f.d.ts +0 -302
  905. package/fjs/types/bit_vec/module.f.js +0 -375
  906. package/fjs/types/bit_vec/proof.f.js +0 -465
  907. package/fjs/types/btree/find/module.f.d.ts +0 -25
  908. package/fjs/types/btree/find/module.f.js +0 -80
  909. package/fjs/types/btree/find/proof.f.d.ts +0 -3
  910. package/fjs/types/btree/find/proof.f.js +0 -108
  911. package/fjs/types/btree/module.f.d.ts +0 -9
  912. package/fjs/types/btree/module.f.js +0 -33
  913. package/fjs/types/btree/proof.f.d.ts +0 -13
  914. package/fjs/types/btree/proof.f.js +0 -64
  915. package/fjs/types/btree/remove/module.f.d.ts +0 -14
  916. package/fjs/types/btree/remove/module.f.js +0 -186
  917. package/fjs/types/btree/remove/proof.f.js +0 -484
  918. package/fjs/types/btree/set/module.f.d.ts +0 -8
  919. package/fjs/types/btree/set/module.f.js +0 -128
  920. package/fjs/types/btree/set/proof.f.js +0 -368
  921. package/fjs/types/btree/types/module.f.d.ts +0 -23
  922. package/fjs/types/btree/types/module.f.js +0 -9
  923. package/fjs/types/byte_set/module.f.d.ts +0 -16
  924. package/fjs/types/byte_set/module.f.js +0 -30
  925. package/fjs/types/byte_set/proof.f.d.ts +0 -11
  926. package/fjs/types/byte_set/proof.f.js +0 -79
  927. package/fjs/types/function/compare/module.f.d.ts +0 -49
  928. package/fjs/types/function/compare/module.f.js +0 -51
  929. package/fjs/types/function/compare/proof.f.js +0 -47
  930. package/fjs/types/function/module.f.d.ts +0 -28
  931. package/fjs/types/function/module.f.js +0 -19
  932. package/fjs/types/function/operator/module.f.d.ts +0 -48
  933. package/fjs/types/function/operator/module.f.js +0 -16
  934. package/fjs/types/function/operator/proof.f.js +0 -53
  935. package/fjs/types/function/proof.f.js +0 -10
  936. package/fjs/types/list/module.f.d.ts +0 -75
  937. package/fjs/types/list/module.f.js +0 -190
  938. package/fjs/types/list/proof.f.d.ts +0 -31
  939. package/fjs/types/list/proof.f.js +0 -330
  940. package/fjs/types/map/module.f.d.ts +0 -2
  941. package/fjs/types/map/module.f.js +0 -22
  942. package/fjs/types/map/proof.f.js +0 -22
  943. package/fjs/types/nibble_set/module.f.d.ts +0 -27
  944. package/fjs/types/nibble_set/module.f.js +0 -25
  945. package/fjs/types/nibble_set/proof.f.js +0 -60
  946. package/fjs/types/nominal/module.f.d.ts +0 -22
  947. package/fjs/types/nominal/module.f.js +0 -13
  948. package/fjs/types/nominal/proof.f.d.ts +0 -4
  949. package/fjs/types/nominal/proof.f.js +0 -48
  950. package/fjs/types/nullable/module.f.d.ts +0 -21
  951. package/fjs/types/nullable/module.f.js +0 -29
  952. package/fjs/types/nullable/proof.f.js +0 -29
  953. package/fjs/types/number/module.f.d.ts +0 -16
  954. package/fjs/types/number/module.f.js +0 -30
  955. package/fjs/types/number/proof.f.js +0 -124
  956. package/fjs/types/object/module.f.d.ts +0 -54
  957. package/fjs/types/object/module.f.js +0 -25
  958. package/fjs/types/object/proof.f.d.ts +0 -4
  959. package/fjs/types/object/proof.f.js +0 -14
  960. package/fjs/types/ordered_map/module.f.d.ts +0 -17
  961. package/fjs/types/ordered_map/module.f.js +0 -22
  962. package/fjs/types/ordered_map/proof.f.js +0 -73
  963. package/fjs/types/patricia_trie/module.f.d.ts +0 -25
  964. package/fjs/types/patricia_trie/module.f.js +0 -35
  965. package/fjs/types/patricia_trie/proof.f.d.ts +0 -13
  966. package/fjs/types/patricia_trie/proof.f.js +0 -121
  967. package/fjs/types/prime_field/module.f.d.ts +0 -62
  968. package/fjs/types/prime_field/module.f.js +0 -112
  969. package/fjs/types/prime_field/proof.f.js +0 -128
  970. package/fjs/types/range/module.f.d.ts +0 -8
  971. package/fjs/types/range/module.f.js +0 -2
  972. package/fjs/types/range/proof.f.js +0 -9
  973. package/fjs/types/range_map/module.f.d.ts +0 -92
  974. package/fjs/types/range_map/module.f.js +0 -82
  975. package/fjs/types/range_map/proof.f.d.ts +0 -6
  976. package/fjs/types/range_map/proof.f.js +0 -151
  977. package/fjs/types/range_set/module.f.d.ts +0 -5
  978. package/fjs/types/range_set/module.f.js +0 -16
  979. package/fjs/types/range_set/proof.f.d.ts +0 -1
  980. package/fjs/types/range_set/proof.f.js +0 -19
  981. package/fjs/types/result/module.d.ts +0 -3
  982. package/fjs/types/result/module.f.d.ts +0 -61
  983. package/fjs/types/result/module.f.js +0 -54
  984. package/fjs/types/result/module.js +0 -19
  985. package/fjs/types/result/proof.f.js +0 -31
  986. package/fjs/types/rtti/common/module.f.d.ts +0 -121
  987. package/fjs/types/rtti/common/module.f.js +0 -94
  988. package/fjs/types/rtti/common/proof.f.d.ts +0 -8
  989. package/fjs/types/rtti/common/proof.f.js +0 -51
  990. package/fjs/types/rtti/module.f.d.ts +0 -75
  991. package/fjs/types/rtti/module.f.js +0 -34
  992. package/fjs/types/rtti/parse/module.f.d.ts +0 -36
  993. package/fjs/types/rtti/parse/module.f.js +0 -114
  994. package/fjs/types/rtti/parse/proof.f.d.ts +0 -115
  995. package/fjs/types/rtti/parse/proof.f.js +0 -334
  996. package/fjs/types/rtti/proof.f.d.ts +0 -5
  997. package/fjs/types/rtti/proof.f.js +0 -16
  998. package/fjs/types/rtti/ts/module.f.d.ts +0 -118
  999. package/fjs/types/rtti/ts/module.f.js +0 -59
  1000. package/fjs/types/rtti/ts/proof.f.js +0 -75
  1001. package/fjs/types/rtti/validate/module.f.d.ts +0 -4
  1002. package/fjs/types/rtti/validate/module.f.js +0 -74
  1003. package/fjs/types/rtti/validate/proof.f.d.ts +0 -118
  1004. package/fjs/types/rtti/validate/proof.f.js +0 -349
  1005. package/fjs/types/sorted_list/module.f.d.ts +0 -26
  1006. package/fjs/types/sorted_list/module.f.js +0 -51
  1007. package/fjs/types/sorted_list/proof.f.d.ts +0 -4
  1008. package/fjs/types/sorted_list/proof.f.js +0 -46
  1009. package/fjs/types/sorted_set/module.f.d.ts +0 -33
  1010. package/fjs/types/sorted_set/module.f.js +0 -5
  1011. package/fjs/types/sorted_set/proof.f.d.ts +0 -6
  1012. package/fjs/types/sorted_set/proof.f.js +0 -67
  1013. package/fjs/types/string/module.f.d.ts +0 -24
  1014. package/fjs/types/string/module.f.js +0 -35
  1015. package/fjs/types/string/proof.f.js +0 -77
  1016. package/fjs/types/string_set/module.f.d.ts +0 -30
  1017. package/fjs/types/string_set/module.f.js +0 -37
  1018. package/fjs/types/string_set/proof.f.js +0 -43
  1019. package/fjs/types/ts/module.f.d.ts +0 -23
  1020. package/fjs/types/ts/module.f.js +0 -27
  1021. package/fjs/types/ts/proof.f.js +0 -86
  1022. package/fjs/types/uint8array/module.f.d.ts +0 -13
  1023. package/fjs/types/uint8array/module.f.js +0 -34
  1024. package/fjs/types/uint8array/proof.f.d.ts +0 -17
  1025. package/fjs/types/uint8array/proof.f.js +0 -64
  1026. package/fjs/website/module.f.d.ts +0 -3
  1027. package/fjs/website/module.f.js +0 -14
  1028. package/fjs/website/proof.f.js +0 -13
  1029. package/nanvm-lib/tests/proof.f.d.ts +0 -122
  1030. package/nanvm-lib/tests/proof.f.js +0 -330
  1031. package/todo/031-json.f.js +0 -241
  1032. package/todo/proof.f.d.ts +0 -20
  1033. package/todo/proof.f.js +0 -62
  1034. /package/fjs/asn.1/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1035. /package/fjs/asserts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1036. /package/fjs/{base_n/proof.f.d.ts → basen/proof.f.d.mts} +0 -0
  1037. /package/fjs/bnf/token_symbol/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1038. /package/{todo/031-json.f.d.ts → fjs/ci/common/types.js} +0 -0
  1039. /package/fjs/ci/node/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1040. /package/fjs/crypto/hmac/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1041. /package/fjs/crypto/pow/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1042. /package/fjs/crypto/vdf/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1043. /package/fjs/dev/package_json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1044. /package/fjs/djs/ast/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1045. /package/fjs/djs/examples/{input.f.d.ts → input.f.d.mts} +0 -0
  1046. /package/fjs/djs/examples/{m.f.d.ts → m.f.d.mts} +0 -0
  1047. /package/fjs/djs/parser/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1048. /package/fjs/djs/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1049. /package/fjs/djs/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1050. /package/fjs/djs/tokenizer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1051. /package/fjs/djs/transpiler/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1052. /package/fjs/effects/node/memory/{proof.d.ts → proof.d.mts} +0 -0
  1053. /package/fjs/fsc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1054. /package/fjs/fsm/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1055. /package/fjs/media/html/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1056. /package/fjs/media/json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1057. /package/fjs/media/json/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1058. /package/fjs/media/nix/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1059. /package/fjs/media/type/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1060. /package/fjs/{module.d.ts → module.d.mts} +0 -0
  1061. /package/fjs/path/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1062. /package/fjs/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1063. /package/fjs/protocol/json_rpc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1064. /package/fjs/sul/id/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1065. /package/fjs/sul/level/literal/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1066. /package/fjs/text/ascii/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1067. /package/fjs/text/code_point/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1068. /package/fjs/text/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1069. /package/fjs/text/sgr/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1070. /package/fjs/text/utf8/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1071. /package/fjs/types/array/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1072. /package/fjs/types/bigfloat/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1073. /package/fjs/types/bit_vec/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1074. /package/fjs/types/btree/remove/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1075. /package/fjs/types/btree/set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1076. /package/fjs/{basen/base128/proof.f.d.ts → types/function/compare/proof.f.d.mts} +0 -0
  1077. /package/fjs/types/function/operator/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1078. /package/fjs/types/function/{compare/proof.f.d.ts → proof.f.d.mts} +0 -0
  1079. /package/fjs/types/map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1080. /package/fjs/types/nibble_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1081. /package/fjs/types/nullable/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1082. /package/fjs/types/number/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1083. /package/fjs/types/option/{module.f.d.ts → types.d.ts} +0 -0
  1084. /package/fjs/types/option/{module.f.js → types.js} +0 -0
  1085. /package/fjs/types/ordered_map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1086. /package/fjs/types/phantom/{module.f.d.ts → types.d.ts} +0 -0
  1087. /package/fjs/types/phantom/{module.f.js → types.js} +0 -0
  1088. /package/fjs/types/prime_field/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1089. /package/fjs/types/{function/proof.f.d.ts → range/proof.f.d.mts} +0 -0
  1090. /package/fjs/types/{range/proof.f.d.ts → range_set/proof.f.d.mts} +0 -0
  1091. /package/fjs/types/result/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1092. /package/fjs/types/rtti/ts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1093. /package/fjs/types/string/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1094. /package/fjs/types/string_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1095. /package/fjs/types/ts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1096. /package/fjs/website/{proof.f.d.ts → proof.f.d.mts} +0 -0
@@ -1,562 +0,0 @@
1
- import { utf8 } from "../../text/module.f.js";
2
- import { empty, msb, repeat, vec, vec8 } from "../../types/bit_vec/module.f.js";
3
- import { hmac } from "../hmac/module.f.js";
4
- import { secp192r1, secp256r1, secp384r1, secp521r1 } from "../secp/module.f.js";
5
- import { computeSync, sha224, sha256, sha384, sha512 } from "../sha2/module.f.js";
6
- import { all, concat, computeK, fromCurve, sign } from "./module.f.js";
7
- import { assertEq } from '../../asserts/module.f.js';
8
- const sample = utf8("sample");
9
- const test = utf8("test");
10
- const x00 = vec8(0x00n);
11
- const x01 = vec8(0x01n);
12
- const v168 = vec(168n);
13
- const v256 = vec(256n);
14
- const v600 = vec(600n);
15
- const r32 = repeat(32n);
16
- const hmac256 = hmac(sha256);
17
- export const proof = {
18
- bits2int: () => {
19
- assertEq(all(7n).bits2int(vec(5n)(20n)), 5n, new Error("fail"));
20
- assertEq(all(17n).bits2int(vec(3n)(5n)), 5n, new Error("fail"));
21
- },
22
- int2octets: () => {
23
- // 3 bit prime
24
- assertEq(all(5n).int2octets(5n), vec(8n)(5n), new Error("fail"));
25
- // 5 bit prime
26
- assertEq(all(17n).int2octets(20n), vec(8n)(20n), new Error("fail"));
27
- // 15 bit prime
28
- assertEq(all(16387n).int2octets(0x13n), vec(16n)(0x13n), new Error("fail"));
29
- },
30
- bit2octets: () => {
31
- assertEq(all(11n).bits2octets(vec(4n)(13n)), vec(8n)(2n), new Error("fail"));
32
- },
33
- k: () => {
34
- //
35
- const q = 0x4000000000000000000020108a2e0cc0d99f8a5efn;
36
- const { qlen, int2octets, bits2octets, bits2int } = all(q);
37
- assertEq(qlen, 163n);
38
- const x = 0x09a4d6792295a7f730fc3f2b49cbc0f62e862272fn;
39
- const h1 = computeSync(sha256)([sample]);
40
- assertEq(h1, v256(0xaf2bdbe1aa9b6ec1e2ade1d694f41fc71a831d0268e9891562113d8a62add1bfn));
41
- const xi2o = int2octets(x);
42
- assertEq(xi2o, v168(0x009a4d6792295a7f730fc3f2b49cbc0f62e862272fn));
43
- const h1b2o = bits2octets(h1);
44
- assertEq(h1b2o, v168(0x01795edf0d54db760f156d0dac04c0322b3a204224n));
45
- let v = r32(x01);
46
- assertEq(v, v256(0x0101010101010101010101010101010101010101010101010101010101010101n));
47
- let k = r32(x00);
48
- assertEq(k, v256(0x0000000000000000000000000000000000000000000000000000000000000000n));
49
- // d.
50
- // 256 + 8 + 168 + 168 = 600
51
- const vv = concat(v, x00, xi2o, h1b2o);
52
- const vvu = 0x010101010101010101010101010101010101010101010101010101010101010100009a4d6792295a7f730fc3f2b49cbc0f62e862272f01795edf0d54db760f156d0dac04c0322b3a204224n;
53
- assertEq(vv, v600(vvu), [vv.toString(16), vvu.toString(16)]);
54
- k = hmac256(k)(vv);
55
- assertEq(k, v256(0x09999a9bfef972d3346911883fad7951d23f2c8b47f420222d1171eeeeac5ab8n));
56
- // e.
57
- v = hmac256(k)(v);
58
- assertEq(v, v256(0xd5f4030f755ee86aa10bba8c09df114ff6b6111c238500d13c7343a8c01becf7n));
59
- // f. K = HMAC_K(V || 0x01 || int2octets(x) || bits2octets(h1))
60
- k = hmac256(k)(concat(v, x01, xi2o, h1b2o));
61
- assertEq(k, v256(0x0cf2fe96d5619c9ef53cb7417d49d37ea68a4ffed0d7e623e38689289911bd57n));
62
- // g.
63
- v = hmac256(k)(v);
64
- assertEq(v, v256(0x783457c1cf3148a8f2a9ae73ed472fa98ed9cd925d8e964ce0764def3f842b9an));
65
- // h.
66
- v = hmac256(k)(v);
67
- let t = msb.concat(empty)(v);
68
- assertEq(t, v256(0x9305a46de7ff8eb107194debd3fd48aa20d5e7656cbe0ea69d2a8d4e7c67314an));
69
- // 3.
70
- let kk = bits2int(t);
71
- assertEq(kk, 0x4982d236f3ffc758838ca6f5e9fea455106af3b2bn);
72
- // 3. second try
73
- k = hmac256(k)(concat(v, x00));
74
- assertEq(k, v256(0x75cb5c05b2a78c3d81df12d74d7be0a0e94ab19815781d4d8e2902a79d0a6699n));
75
- v = hmac256(k)(v);
76
- assertEq(v, v256(0xdcb9ca126107a9c27ce77ba58ea871c8c912d835eaddc305f2445d88f66c4c43n));
77
- v = hmac256(k)(v);
78
- t = msb.concat(empty)(v);
79
- assertEq(t, v256(0xc70c78608a3b5be9289be90ef6e81a9e2c1516d5751d2f75f50033e45f73bdebn));
80
- kk = bits2int(t);
81
- assertEq(kk, 0x63863c30451dadf4944df4877b740d4f160a8b6abn);
82
- // 3. third try
83
- k = hmac256(k)(concat(v, x00));
84
- assertEq(k, v256(0x0a5a64b99c059520103686cb6f36bcfca788eb3bcf69ba66a5bb080b0593ba53n));
85
- v = hmac256(k)(v);
86
- assertEq(v, v256(0x0b3b196811b19f6c6f729c43f35bcf0dfd725f17ca3430e8721453e55550a18fn));
87
- v = hmac256(k)(v);
88
- t = msb.concat(empty)(v);
89
- assertEq(t, v256(0x475e80e992140567fcc3a50dab90fe84bcd7bb03638e9c4656a06f37f6508a7cn));
90
- kk = bits2int(t);
91
- assertEq(kk, 0x23af4074c90a02b3fe61d286d5c87f425e6bdd81bn);
92
- },
93
- computeK: () => {
94
- const q = 0x4000000000000000000020108a2e0cc0d99f8a5efn;
95
- const a = all(q);
96
- assertEq(a.qlen, 163n);
97
- const x = 0x09a4d6792295a7f730fc3f2b49cbc0f62e862272fn;
98
- const k = computeK(a)(sha256)(x)(sample);
99
- assertEq(k, 0x23af4074c90a02b3fe61d286d5c87f425e6bdd81bn);
100
- },
101
- investigate: () => {
102
- const q = 0xf2c3119374ce76c9356990b465374a17f23f9ed35089bd969f61c6dde9998c1fn;
103
- const x = 0x69c7548c21d0dfea6b9a51c9ead4e27c33d3b3f180316e5bcab92c933f0e4dbcn;
104
- const a = all(q);
105
- const k = computeK(a)(sha384)(x)(sample);
106
- assertEq(k, 0xc345d5ab3da0a5bcb7ec8f8fb7a7e96069e03b206371ef7d83e39068ec564920n);
107
- },
108
- kk: () => {
109
- const a = fromCurve(secp192r1);
110
- const x = 0x6fab034934e4c0fc9ae67f5b5659a9d7d1fefd187ee09fd4n;
111
- const m = utf8("sample");
112
- const kk = computeK(a)(sha224)(x)(m);
113
- assertEq(kk, 0x4381526b3fc1e7128f202e194505592f01d5ff4c5af015d8n);
114
- },
115
- a2: () => {
116
- const check = ({ q, x, msg0, msg1 }) => {
117
- const a = all(q);
118
- const check = (sha, expected, m) => {
119
- const k = computeK(a)(sha)(x)(m);
120
- assertEq(k, expected, [k.toString(16), expected.toString(16)]);
121
- };
122
- const check4 = (m, h) => {
123
- check(sha224, h[0], m);
124
- check(sha256, h[1], m);
125
- check(sha384, h[2], m);
126
- check(sha512, h[3], m);
127
- };
128
- check4(sample, msg0);
129
- check4(test, msg1);
130
- };
131
- const testVectors = {
132
- x1: {
133
- q: 0x996f967f6c8e388d9e28d01e205fba957a5698b1n,
134
- x: 0x411602cb19a6ccc34494d79d98ef1e7ed5af25f7n,
135
- msg0: [
136
- 0x562097c06782d60c3037ba7be104774344687649n,
137
- 0x519ba0546d0c39202a7d34d7dfa5e760b318bcfbn,
138
- 0x95897cd7bbb944aa932dbc579c1c09eb6fcfc595n,
139
- 0x09ece7ca27d0f5a4dd4e556c9df1d21d28104f8bn
140
- ],
141
- msg1: [
142
- 0x4598b8efc1a53bc8aecd58d1abbb0c0c71e67297n,
143
- 0x5a67592e8128e03a417b0484410fb72c0b630e1an,
144
- 0x220156b761f6ca5e6c9f1b9cf9c24be25f98cd89n,
145
- 0x65d2c2eeb175e370f28c75bfcdc028d22c7dbe9cn
146
- ]
147
- },
148
- x3: {
149
- q: 0xffffffffffffffffffffffff99def836146bc9b1b4d22831n,
150
- x: 0x6fab034934e4c0fc9ae67f5b5659a9d7d1fefd187ee09fd4n,
151
- msg0: [
152
- 0x4381526b3fc1e7128f202e194505592f01d5ff4c5af015d8n,
153
- 0x32b1b6d7d42a05cb449065727a84804fb1a3e34d8f261496n,
154
- 0x4730005c4fcb01834c063a7b6760096dbe284b8252ef4311n,
155
- 0xa2ac7ab055e4f20692d49209544c203a7d1f2c0bfbc75db1n
156
- ],
157
- msg1: [
158
- 0xf5dc805f76ef851800700cce82e7b98d8911b7d510059fben,
159
- 0x5c4ce89cf56d9e7c77c8585339b006b97b5f0680b4306c6cn,
160
- 0x5afefb5d3393261b828db6c91fbc68c230727b030c975693n,
161
- 0x0758753a5254759c7cfbad2e2d9b0792eee44136c9480527n,
162
- ],
163
- },
164
- x4: {
165
- q: 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3dn,
166
- x: 0xf220266e1105bfe3083e03ec7a3a654651f45e37167e88600bf257c1n,
167
- msg0: [
168
- 0xc1d1f2f10881088301880506805feb4825fe09acb6816c36991aa06dn,
169
- 0xad3029e0278f80643de33917ce6908c70a8ff50a411f06e41dedfcdcn,
170
- 0x52b40f5a9d3d13040f494e83d3906c6079f29981035c7bd51e5cac40n,
171
- 0x9db103ffededf9cfdba05184f925400c1653b8501bab89cea0fbec14n,
172
- ],
173
- msg1: [
174
- 0xdf8b38d40dca3e077d0ac520bf56b6d565134d9b5f2eae0d34900524n,
175
- 0xff86f57924da248d6e44e8154eb69f0ae2aebaee9931d0b5a969f904n,
176
- 0x7046742b839478c1b5bd31db2e862ad868e1a45c863585b5f22bdc2dn,
177
- 0xe39c2aa4ea6be2306c72126d40ed77bf9739bb4d6ef2bbb1dcb6169dn,
178
- ],
179
- },
180
- x8: {
181
- q: 0x4000000000000000000020108a2e0cc0d99f8a5efn,
182
- x: 0x09a4d6792295a7f730fc3f2b49cbc0f62e862272fn,
183
- msg0: [
184
- 0x323e7b28bfd64e6082f5b12110aa87bc0d6a6e159n,
185
- 0x23af4074c90a02b3fe61d286d5c87f425e6bdd81bn,
186
- 0x2132abe0ed518487d3e4fa7fd24f8bed1f29ccfcen,
187
- 0x00bbcc2f39939388fdfe841892537ec7b1ff33aa3n,
188
- ],
189
- msg1: [
190
- 0x091dd986f38eb936be053dd6ace3419d2642ade8dn,
191
- 0x193649ce51f0cff0784cfc47628f4fa854a93f7a2n,
192
- 0x37c73c6f8b404ec83da17a6ebca724b3ff1f7eeban,
193
- 0x331ad98d3186f73967b1e0b120c80b1e22efc2988n,
194
- ],
195
- },
196
- x9: {
197
- q: 0x8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdfn,
198
- x: 0x103b2142bdc2a3c3b55080d09df1808f79336da2399f5ca7171d1be9b0n,
199
- msg0: [
200
- 0x71626a309d9cd80ad0b975d757fe6bf4b84e49f8f34c780070d7746f19n,
201
- 0x73552f9cac5774f74f485fa253871f2109a0c86040552eaa67dba92dc9n,
202
- 0x17d726a67539c609bd99e29aa3737ef247724b71455c3b6310034038c8n,
203
- 0x0e535c328774cde546be3af5d7fcd263872f107e807435105ba2fdc166n,
204
- ],
205
- msg1: [
206
- 0x67634d0aba2c9bf7ae54846f26dcd166e7100654bce6fdc96667631aa2n,
207
- 0x2ce5aedc155acc0ddc5e679ebacfd21308362e5efc05c5e99b2557a8d7n,
208
- 0x1b4bd3903e74fd0b31e23f956c70062014dfefee21832032ea5352a055n,
209
- 0x1775ed919ca491b5b014c5d5e86af53578b5a7976378f192af665cb705n,
210
- ],
211
- },
212
- x10: {
213
- q: 0x1ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61n,
214
- x: 0x06a0777356e87b89ba1ed3a3d845357be332173c8f7a65bdc7db4fab3c4cc79acc8194en,
215
- msg0: [
216
- 0x1b4c4e3b2f6b08b5991bd2bdde277a7016da527ad0aae5bc61b64c5a0ee63e8b502ef61n,
217
- 0x1ceb9e8e0dff53ce687deb81339aca3c98e7a657d5a9499ef779f887a934408ecbe5a38n,
218
- 0x1460a5c41745a5763a9d548ae62f2c3630bbed71b6aa549d7f829c22442a728c5d965dan,
219
- 0x00f3b59fcb5c1a01a1a2a0019e98c244dff61502d6e6b9c4e957eddceb258ef4dbef04an,
220
- ],
221
- msg1: [
222
- 0x045e13ea645ce01d9b25ea38c8a8a170e04c83bb7f231ee3152209fe10ec8b2e565536cn,
223
- 0x0b585a7a68f51089691d6ede2b43fc4451f66c10e65f134b963d4cbd4eb844b0e1469a6n,
224
- 0x1e88738e14482a09ee16a73d490a7fe8739df500039538d5c4b6c8d6d7f208d6ca56760n,
225
- 0x00e5f24a223bd459653f682763c3bb322d4ee75dd89c63d4dc61518d543e76585076bban,
226
- ],
227
- },
228
- x11: {
229
- q: 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcfn,
230
- x: 0x29c16768f01d1b8a89fda85e2efd73a09558b92a178a2931f359e4d70ad853e569cdaf16daa569758fb4e73089e4525d8bbfcfn,
231
- msg0: [
232
- 0x512340db682c7b8ebe407bf1aa54194dfe85d49025fe0f632c9b8a06a996f2fcd0d73c752fb09d23db8fbe50605dc25df0745cn,
233
- 0x782385f18baf5a36a588637a76dfab05739a14163bf723a4417b74bd1469d37ac9e8cce6aec8ff63f37b815aaf14a876eed962n,
234
- 0x4da637cb2e5c90e486744e45a73935dd698d4597e736da332a06eda8b26d5abc6153ec2ece14981cf3e5e023f36ffa55eea6d7n,
235
- 0x57055b293ecfdfe983cef716166091e573275c53906a39eadc25c89c5ec8d7a7e5629fcfdfad514e1348161c9a34ea1c42d58cn,
236
- ],
237
- msg1: [
238
- 0x3c5352929d4ebe3cce87a2dce380f0d2b33c901e61abc530daf3506544ab0930ab9bfd553e51fcda44f06cd2f49e17e07db519n,
239
- 0x251e32dee10ed5ea4ad7370df3eff091e467d5531ca59de3aa791763715e1169ab5e18c2a11cd473b0044fb45308e8542f2eb0n,
240
- 0x11c540ea46c5038fe28bb66e2e9e9a04c9fe9567adf33d56745953d44c1dc8b5b92922f53a174e431c0ed8267d919329f19014n,
241
- 0x59527ce953bc09df5e85155cae7bb1d7f342265f41635545b06044f844ecb4fa6476e7d47420adc8041e75460ec0a4ec760e95n,
242
- ],
243
- },
244
- x12: {
245
- q: 0x20000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001n,
246
- x: 0x0c16f58550d824ed7b95569d4445375d3a490bc7e0194c41a39deb732c29396cdf1d66de02dd1460a816606f3bec0f32202c7bd18a32d87506466aa92032f1314ed7b19762b0d22n,
247
- msg0: [
248
- 0x0b599d068a1a00498ee0b9ad6f388521f594bd3f234e47f7a1db6490d7b57d60b0101b36f39cc22885f78641c69411279706f0989e6991e5d5b53619e43efb397e25e0814ef02bcn,
249
- 0x0f79d53e63d89fb87f4d9e6dc5949f5d9388bcfe9ebcb4c2f7ce497814cf40e845705f8f18dbf0f860de0b1cc4a433ef74a5741f3202e958c082e0b76e16ecd5866aa0f5f3df300n,
250
- 0x0308253c022d25f8a9ebcd24459dd6596590bdec7895618eee8a2623a98d2a2b2e7594ee6b7ad3a39d70d68cb4ed01cb28e2129f8e2cc0cc8dc7780657e28bcd655f0be9b7d35a2n,
251
- 0x0c5ee7070af55f84ebc43a0d481458cede1dcebb57720a3c92f59b4941a044fecff4f703940f3121773595e880333772acf822f2449e17c64da286bcd65711dd5da44d7155bf004n,
252
- ],
253
- msg1: [
254
- 0x1da875065b9d94dbe75c61848d69578bcc267935792624f9887b53c9af9e43cabfc42e4c3f9a456ba89e717d24f1412f33cfd297a7a4d403b18b5438654c74d592d5022125e0c6bn,
255
- 0x04ddd0707e81bb56ea2d1d45d7fafdbdd56912cae224086802fea1018db306c4fb8d93338dbf6841ce6c6ab1506e9a848d2c0463e0889268843dee4acb552cffcb858784ed116b2n,
256
- 0x0141b53dc6e569d8c0c0718a58a5714204502fda146e7e2133e56d19e905b79413457437095de13cf68b5cf5c54a1f2e198a55d974fc3e507afc0acf95ed391c93cc79e3b3fe37cn,
257
- 0x14842f97f263587a164b215dd0f912c588a88dc4ab6af4c530adc1226f16e086d62c14435e6bfab56f019886c88922d2321914ee41a8f746aaa2b964822e4ac6f40ee2492b66824n,
258
- ],
259
- },
260
- x13: {
261
- q: 0x40000000000000000000292fe77e70c12a4234c33n,
262
- x: 0x35318fc447d48d7e6bc93b48617dddedf26aa658fn,
263
- msg0: [
264
- 0x3b24c5e2c2d935314eabf57a6484289b291adfe3fn,
265
- 0x3d7086a59e6981064a9cdb684653f3a81b6ec0f0bn,
266
- 0x3b1e4443443486c7251a68ef184a936f05f8b17c7n,
267
- 0x2edf5cfcac7553c17421fdf54ad1d2ef928a879d2n,
268
- ],
269
- msg1: [
270
- 0x34f46de59606d56c75406bfb459537a7cc280aa62n,
271
- 0x38145e3ffca94e4ddacc20ad6e0997bd0e3b669d2n,
272
- 0x375813210ece9c4d7ab42ddc3c55f89189cf6dffdn,
273
- 0x25ad8b393bc1e9363600fda1a2ab6df40079179a3n,
274
- ]
275
- },
276
- x14: {
277
- q: 0x1000000000000000000000000000013e974e72f8a6922031d2603cfe0d7n,
278
- x: 0x07adc13dd5bf34d1ddeeb50b2ce23b5f5e6d18067306d60c5f6ff11e5d3n,
279
- msg0: [
280
- 0x0f2b1c1e80beb58283aaa79857f7b83bdf724120d0913606fd07f7ffb2cn,
281
- 0x034a53897b0bbdb484302e19bf3f9b34a2abfed639d109a388dc52006b5n,
282
- 0x04d4670b28990bc92eeb49840b482a1fa03fe028d09f3d21f89c67eca85n,
283
- 0x0de108aaada760a14f42c057ef81c0a31af6b82e8fbca8dc86e443ab549n,
284
- ],
285
- msg1: [
286
- 0x07bdb6a7fd080d9ec2fc84bff9e3e15750789dc04290c84fed00e109bbdn,
287
- 0x00376886e89013f7ff4b5214d56a30d49c99f53f211a3afe01aa2bde12dn,
288
- 0x03726870de75613c5e529e453f4d92631c03d08a7f63813e497d4cb3877n,
289
- 0x09ce5810f1ac68810b0dffbb6beef2e0053bb937969ae7886f9d064a8c4n,
290
- ],
291
- },
292
- x15: {
293
- q: 0x3ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307n,
294
- x: 0x14510d4bc44f2d26f4553942c98073c1bd35545ceabb5cc138853c5158d2729ea408836n,
295
- msg0: [
296
- 0x14cc8fcfeecd6b999b4dc6084ebb06fded0b44d5c507802cc7a5e9ecf36e69da6ae23c6n,
297
- 0x38c9d662188982943e080b794a4cfb0732dba37c6f40d5b8cfaded6ff31c5452ba3f877n,
298
- 0x21b7265debf90e6f988cffdb62b121a02105226c652807cc324ed6fb119a287a72680abn,
299
- 0x20583259dc179d9da8e5387e89bff2a3090788cf1496bcabfe7d45bb120b0c811eb8980n,
300
- ],
301
- msg1: [
302
- 0x2e5c1f00677a0e015ec3f799fa9e9a004309dbd784640eaaf5e1ce64d3045b9fe9c1fa1n,
303
- 0x018a7d44f2b4341fefe68f6bd8894960f97e08124aab92c1ffbbe90450fcc9356c9aaa5n,
304
- 0x3c75397ba4cf1b931877076af29f2e2f4231b117ab4b8e039f7f9704de1bd3522f150b6n,
305
- 0x14e66b18441fa54c21e3492d0611d2b48e19de3108d915fd5ca08e786327a2675f11074n,
306
- ],
307
- },
308
- x16: {
309
- q: 0x10000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173n,
310
- x: 0x0494994cc325b08e7b4ce038bd9436f90b5e59a2c13c3140cd3ae07c04a01fc489f572ce0569a6db7b8060393de76330c624177n,
311
- msg0: [
312
- 0x0c933f1dc4c70838c2ad16564715acaf545bcdd8dc203d25af3ec63949c65cb2e68ac1f60ca7eaca2a823f4e240927aa82ceec5n,
313
- 0x08ec42d13a3909a20c41bebd2dfed8cacce56c7a7d1251df43f3e9e289dae00e239f6960924ac451e125b784cb687c7f23283fdn,
314
- 0x0da881bce3ba851485879ef8ac585a63f1540b9198ecb8a1096d70cb25a104e2f8a96b108ae76cb49cf34491abc70e9d2aad450n,
315
- 0x0750926ffad7ff5de85df7960b3a4f9e3d38cf5a049bfc89739c48d42b34fbee03d2c047025134cc3145b60afd22a68df0a7fb2n,
316
- ],
317
- msg1: [
318
- 0x01adeb94c19951b460a146b8275d81638c07735b38a525d76023aaf26aa8a058590e1d5b1e78ab3c91608bda67cffbe6fc8a6ccn,
319
- 0x06eba3d58d0e0dfc406d67fc72ef0c943624cf40019d1e48c3b54ccab0594afd5dee30aebaa22e693dbcfecad1a85d774313dadn,
320
- 0x0a45b787db44c06deab846511eedbf7bfcfd3bd2c11d965c92fc195f67328f36a2dc83c0352885dab96b55b02fcf49dccb0e2dan,
321
- 0x0b90f8a0e757e81d4ea6891766729c96a6d01f9aedc0d334932d1f81cc4e1973a4f01c33555ff08530a5098cadb6edae268abb5n,
322
- ],
323
- },
324
- x17: {
325
- q: 0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47n,
326
- x: 0x028a04857f24c1c082df0d909c0e72f453f2e2340ccb071f0e389bca2575da19124198c57174929ad26e348cf63f78d28021ef5a9bf2d5cbeaf6b7ccb6c4da824dd5c82cfb24e11n,
327
- msg0: [
328
- 0x2eafad4ac8644deb29095bbaa88d19f31316434f1766ad4423e0b54dd2fe0c05e307758581b0daed2902683bbc7c47b00e63e3e429ba54ea6ba3aec33a94c9a24a6ef8e27b7677an,
329
- 0x15c2c6b7d1a070274484774e558b69fdfa193bdb7a23f27c2cd24298ce1b22a6cc9b7fb8cabfd6cf7c6b1cf3251e5a1cddd16fbfed28de79935bb2c631b8b8ea9cc4bcc937e669en,
330
- 0x0fef0b68cb49453a4c6ecbf1708dbeefc885c57fdafb88417aaefa5b1c35017b4b498507937adce2f1d9effa5fe8f5aeb116b804fd182a6cf1518fdb62d53f60a0ff6eb707d856bn,
331
- 0x3ff373833a06c791d7ad586afa3990f6ef76999c35246c4ad0d519bff180ca1880e11f2fb38b764854a0ae3becddb50f05ac4fcee542f207c0a6229e2e19652f0e647b9c4882193n,
332
- ],
333
- msg1: [
334
- 0x333c711f8c62f205f926593220233b06228285261d34026232f6f729620c6de12220f282f4206d223226705608688b20b8ba86d8dfe54f07a37ec48f253283ac33c3f5102c8cc3en,
335
- 0x328e02cf07c7b5b6d3749d8302f1ae5bfaa8f239398459af4a2c859c7727a8123a7fe9be8b228413fc8dc0e9de16af3f8f43005107f9989a5d97a5c4455da895e81336710a3fb2cn,
336
- 0x2a77e29ead9e811a9fda0284c14cdfa1d9f8fa712da59d530a06cde54187e250ad1d4fb5788161938b8de049616399c5a56b0737c9564c9d4d845a4c6a7cdfcbff0f01a82be672en,
337
- 0x21ce6ee4a2c72c9f93bdb3b552f4a633b8c20c200f894f008643240184be57bb282a1645e47fbbe131e899b4c61244efc2486d88cdbd1dd4a65ebdd837019d02628d0dcd6ed8fb5n,
338
- ],
339
- }
340
- };
341
- for (const v of Object.values(testVectors)) {
342
- check(v);
343
- }
344
- },
345
- a2s: () => {
346
- const check = ({ q, x, msg0, msg1 }) => {
347
- const a = all(q.nf.p);
348
- const check = (sha, { k, r, s }, m) => {
349
- const k0 = computeK(a)(sha)(x)(m);
350
- assertEq(k0, k, [k0.toString(16), k.toString(16)]);
351
- const [r0, s0] = sign(q)(sha)(x)(m);
352
- assertEq(r0, r, [r0, r]);
353
- assertEq(s0, s, [s0, s]);
354
- };
355
- const check4 = (m, h) => {
356
- check(sha224, h[0], m);
357
- check(sha256, h[1], m);
358
- check(sha384, h[2], m);
359
- check(sha512, h[3], m);
360
- };
361
- check4(sample, msg0);
362
- check4(test, msg1);
363
- };
364
- const testVectors = {
365
- x3: {
366
- q: secp192r1,
367
- x: 0x6fab034934e4c0fc9ae67f5b5659a9d7d1fefd187ee09fd4n,
368
- msg0: [
369
- {
370
- k: 0x4381526b3fc1e7128f202e194505592f01d5ff4c5af015d8n,
371
- r: 0xa1f00dad97aeec91c95585f36200c65f3c01812aa60378f5n,
372
- s: 0xe07ec1304c7c6c9debbe980b9692668f81d4de7922a0f97an,
373
- },
374
- {
375
- k: 0x32b1b6d7d42a05cb449065727a84804fb1a3e34d8f261496n,
376
- r: 0x4b0b8ce98a92866a2820e20aa6b75b56382e0f9bfd5ecb55n,
377
- s: 0xccdb006926ea9565cbadc840829d8c384e06de1f1e381b85n,
378
- },
379
- {
380
- k: 0x4730005c4fcb01834c063a7b6760096dbe284b8252ef4311n,
381
- r: 0xda63bf0b9abcf948fbb1e9167f136145f7a20426dcc287d5n,
382
- s: 0xc3aa2c960972bd7a2003a57e1c4c77f0578f8ae95e31ec5en,
383
- },
384
- {
385
- k: 0xa2ac7ab055e4f20692d49209544c203a7d1f2c0bfbc75db1n,
386
- r: 0x4d60c5ab1996bd848343b31c00850205e2ea6922dac2e4b8n,
387
- s: 0x3f6e837448f027a1bf4b34e796e32a811cbb4050908d8f67n,
388
- }
389
- ],
390
- msg1: [
391
- {
392
- k: 0xf5dc805f76ef851800700cce82e7b98d8911b7d510059fben,
393
- r: 0x6945a1c1d1b2206b8145548f633bb61cef04891baf26ed34n,
394
- s: 0xb7fb7fdfc339c0b9bd61a9f5a8eaf9be58fc5cba2cb15293n,
395
- },
396
- {
397
- k: 0x5c4ce89cf56d9e7c77c8585339b006b97b5f0680b4306c6cn,
398
- r: 0x3a718bd8b4926c3b52ee6bbe67ef79b18cb6eb62b1ad97aen,
399
- s: 0x5662e6848a4a19b1f1ae2f72acd4b8bbe50f1eac65d9124fn,
400
- },
401
- {
402
- k: 0x5afefb5d3393261b828db6c91fbc68c230727b030c975693n,
403
- r: 0xb234b60b4db75a733e19280a7a6034bd6b1ee88af5332367n,
404
- s: 0x7994090b2d59bb782be57e74a44c9a1c700413f8abefe77an,
405
- },
406
- {
407
- k: 0x0758753a5254759c7cfbad2e2d9b0792eee44136c9480527n,
408
- r: 0xfe4f4ae86a58b6507946715934fe2d8ff9d95b6b098fe739n,
409
- s: 0x74cf5605c98fba0e1ef34d4b5a1577a7dcf59457cae52290n,
410
- }
411
- ],
412
- },
413
- x5: {
414
- q: secp256r1,
415
- x: 0xc9afa9d845ba75166b5c215767b1d6934e50c3db36e89b127b8a622b120f6721n,
416
- msg0: [
417
- {
418
- k: 0x103f90ee9dc52e5e7fb5132b7033c63066d194321491862059967c715985d473n,
419
- r: 0x53b2fff5d1752b2c689df257c04c40a587fababb3f6fc2702f1343af7ca9aa3fn,
420
- s: 0xb9afb64fdc03dc1a131c7d2386d11e349f070aa432a4acc918bea988bf75c74cn,
421
- },
422
- {
423
- k: 0xa6e3c57dd01abe90086538398355dd4c3b17aa873382b0f24d6129493d8aad60n,
424
- r: 0xefd48b2aacb6a8fd1140dd9cd45e81d69d2c877b56aaf991c34d0ea84eaf3716n,
425
- s: 0xf7cb1c942d657c41d436c7a1b6e29f65f3e900dbb9aff4064dc4ab2f843acda8n,
426
- },
427
- {
428
- k: 0x09f634b188cefd98e7ec88b1aa9852d734d0bc272f7d2a47decc6ebeb375aad4n,
429
- r: 0x0eafea039b20e9b42309fb1d89e213057cbf973dc0cfc8f129edddc800ef7719n,
430
- s: 0x4861f0491e6998b9455193e34e7b0d284ddd7149a74b95b9261f13abde940954n,
431
- },
432
- {
433
- k: 0x5fa81c63109badb88c1f367b47da606da28cad69aa22c4fe6ad7df73a7173aa5n,
434
- r: 0x8496a60b5e9b47c825488827e0495b0e3fa109ec4568fd3f8d1097678eb97f00n,
435
- s: 0x2362ab1adbe2b8adf9cb9edab740ea6049c028114f2460f96554f61fae3302fen,
436
- }
437
- ],
438
- msg1: [
439
- {
440
- k: 0x669f4426f2688b8be0db3a6bd1989bdaefff84b649eeb84f3dd26080f667faa7n,
441
- r: 0xc37edb6f0ae79d47c3c27e962fa269bb4f441770357e114ee511f662ec34a692n,
442
- s: 0xc820053a05791e521fcaad6042d40aea1d6b1a540138558f47d0719800e18f2dn,
443
- },
444
- {
445
- k: 0xd16b6ae827f17175e040871a1c7ec3500192c4c92677336ec2537acaee0008e0n,
446
- r: 0xf1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d38367n,
447
- s: 0x019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083n,
448
- },
449
- {
450
- k: 0x16aeffa357260b04b1dd199693960740066c1a8f3e8edd79070aa914d361b3b8n,
451
- r: 0x83910e8b48bb0c74244ebdf7f07a1c5413d61472bd941ef3920e623fbccebeb6n,
452
- s: 0x8ddbec54cf8cd5874883841d712142a56a8d0f218f5003cb0296b6b509619f2cn,
453
- },
454
- {
455
- k: 0x6915d11632aca3c40d5d51c08daf9c555933819548784480e93499000d9f0b7fn,
456
- r: 0x461d93f31b6540894788fd206c07cfa0cc35f46fa3c91816fff1040ad1581a04n,
457
- s: 0x39af9f15de0db8d97e72719c74820d304ce5226e32dedae67519e840d1194e55n,
458
- },
459
- ],
460
- },
461
- x6: {
462
- q: secp384r1,
463
- x: 0x6b9d3dad2e1b8c1c05b19875b6659f4de23c3b667bf297ba9aa47740787137d896d5724e4c70a825f872c9ea60d2edf5n,
464
- msg0: [
465
- {
466
- k: 0xa4e4d2f0e729eb786b31fc20ad5d849e304450e0ae8e3e341134a5c1afa03cab8083ee4e3c45b06a5899ea56c51b5879n,
467
- r: 0x42356e76b55a6d9b4631c865445dbe54e056d3b3431766d0509244793c3f9366450f76ee3de43f5a125333a6be060122n,
468
- s: 0x9da0c81787064021e78df658f2fbb0b042bf304665db721f077a4298b095e4834c082c03d83028efbf93a3c23940ca8dn,
469
- },
470
- {
471
- k: 0x180ae9f9aec5438a44bc159a1fcb277c7be54fa20e7cf404b490650a8acc414e375572342863c899f9f2edf9747a9b60n,
472
- r: 0x21b13d1e013c7fa1392d03c5f99af8b30c570c6f98d4ea8e354b63a21d3daa33bde1e888e63355d92fa2b3c36d8fb2cdn,
473
- s: 0xf3aa443fb107745bf4bd77cb3891674632068a10ca67e3d45db2266fa7d1feebefdc63eccd1ac42ec0cb8668a4fa0ab0n,
474
- },
475
- {
476
- k: 0x94ed910d1a099dad3254e9242ae85abde4ba15168eaf0ca87a555fd56d10fbca2907e3e83ba95368623b8c4686915cf9n,
477
- r: 0x94edbb92a5ecb8aad4736e56c691916b3f88140666ce9fa73d64c4ea95ad133c81a648152e44acf96e36dd1e80fabe46n,
478
- s: 0x99ef4aeb15f178cea1fe40db2603138f130e740a19624526203b6351d0a3a94fa329c145786e679e7b82c71a38628ac8n,
479
- },
480
- {
481
- k: 0x92fc3c7183a883e24216d1141f1a8976c5b0dd797dfa597e3d7b32198bd35331a4e966532593a52980d0e3aaa5e10ec3n,
482
- r: 0xed0959d5880ab2d869ae7f6c2915c6d60f96507f9cb3e047c0046861da4a799cfe30f35cc900056d7c99cd7882433709n,
483
- s: 0x512c8cceee3890a84058ce1e22dbc2198f42323ce8aca9135329f03c068e5112dc7cc3ef3446defceb01a45c2667fdd5n,
484
- }
485
- ],
486
- msg1: [
487
- {
488
- k: 0x18fa39db95aa5f561f30fa3591dc59c0fa3653a80daffa0b48d1a4c6dfcbff6e3d33be4dc5eb8886a8ecd093f2935726n,
489
- r: 0xe8c9d0b6ea72a0e7837fea1d14a1a9557f29faa45d3e7ee888fc5bf954b5e62464a9a817c47ff78b8c11066b24080e72n,
490
- s: 0x07041d4a7a0379ac7232ff72e6f77b6ddb8f09b16cce0ec3286b2bd43fa8c6141c53ea5abef0d8231077a04540a96b66n,
491
- },
492
- {
493
- k: 0x0cfac37587532347dc3389fdc98286bba8c73807285b184c83e62e26c401c0faa48dd070ba79921a3457abff2d630ad7n,
494
- r: 0x6d6defac9ab64dabafe36c6bf510352a4cc27001263638e5b16d9bb51d451559f918eedaf2293be5b475cc8f0188636bn,
495
- s: 0x2d46f3becbcc523d5f1a1256bf0c9b024d879ba9e838144c8ba6baeb4b53b47d51ab373f9845c0514eefb14024787265n,
496
- },
497
- {
498
- k: 0x015ee46a5bf88773ed9123a5ab0807962d193719503c527b031b4c2d225092ada71f4a459bc0da98adb95837db8312ean,
499
- r: 0x8203b63d3c853e8d77227fb377bcf7b7b772e97892a80f36ab775d509d7a5feb0542a7f0812998da8f1dd3ca3cf023dbn,
500
- s: 0xddd0760448d42d8a43af45af836fce4de8be06b485e9b61b827c2f13173923e06a739f040649a667bf3b828246baa5a5n,
501
- },
502
- {
503
- k: 0x3780c4f67cb15518b6acae34c9f83568d2e12e47deab6c50a4e4ee5319d1e8ce0e2cc8a136036dc4b9c00e6888f66b6cn,
504
- r: 0xa0d5d090c9980faf3c2ce57b7ae951d31977dd11c775d314af55f76c676447d06fb6495cd21b4b6e340fc236584fb277n,
505
- s: 0x976984e59b4c77b0e8e4460dca3d9f20e07b9bb1f63beefaf576f6b2e8b224634a2092cd3792e0159ad9cee37659c736n,
506
- }
507
- ],
508
- },
509
- x7: {
510
- q: secp521r1,
511
- x: 0x0fad06daa62ba3b25d2fb40133da757205de67f5bb0018fee8c86e1b68c7e75caa896eb32f1f47c70855836a6d16fcc1466f6d8fbec67db89ec0c08b0e996b83538n,
512
- msg0: [
513
- {
514
- k: 0x121415ec2cd7726330a61f7f3fa5de14be9436019c4db8cb4041f3b54cf31be0493ee3f427fb906393d895a19c9523f3a1d54bb8702bd4aa9c99dab2597b92113f3n,
515
- r: 0x1776331cfcdf927d666e032e00cf776187bc9fdd8e69d0dabb4109ffe1b5e2a30715f4cc923a4a5e94d2503e9acfed92857b7f31d7152e0f8c00c15ff3d87e2ed2en,
516
- s: 0x050cb5265417fe2320bbb5a122b8e1a32bd699089851128e360e620a30c7e17ba41a666af126ce100e5799b153b60528d5300d08489ca9178fb610a2006c254b41fn,
517
- },
518
- {
519
- k: 0x0edf38afcaaecab4383358b34d67c9f2216c8382aaea44a3dad5fdc9c32575761793fef24eb0fc276dfc4f6e3ec476752f043cf01415387470bcbd8678ed2c7e1a0n,
520
- r: 0x1511bb4d675114fe266fc4372b87682baecc01d3cc62cf2303c92b3526012659d16876e25c7c1e57648f23b73564d67f61c6f14d527d54972810421e7d87589e1a7n,
521
- s: 0x04a171143a83163d6df460aaf61522695f207a58b95c0644d87e52aa1a347916e4f7a72930b1bc06dbe22ce3f58264afd23704cbb63b29b931f7de6c9d949a7ecfcn,
522
- },
523
- {
524
- k: 0x1546a108bc23a15d6f21872f7ded661fa8431ddbd922d0dcdb77cc878c8553ffad064c95a920a750ac9137e527390d2d92f153e66196966ea554d9adfcb109c4211n,
525
- r: 0x1ea842a0e17d2de4f92c15315c63ddf72685c18195c2bb95e572b9c5136ca4b4b576ad712a52be9730627d16054ba40cc0b8d3ff035b12ae75168397f5d50c67451n,
526
- s: 0x1f21a3cee066e1961025fb048bd5fe2b7924d0cd797babe0a83b66f1e35eeaf5fde143fa85dc394a7dee766523393784484bdf3e00114a1c857cde1aa203db65d61n,
527
- },
528
- {
529
- k: 0x1dae2ea071f8110dc26882d4d5eae0621a3256fc8847fb9022e2b7d28e6f10198b1574fdd03a9053c08a1854a168aa5a57470ec97dd5ce090124ef52a2f7ecbffd3n,
530
- r: 0x0c328fafcbd79dd77850370c46325d987cb525569fb63c5d3bc53950e6d4c5f174e25a1ee9017b5d450606add152b534931d7d4e8455cc91f9b15bf05ec36e377fan,
531
- s: 0x0617cce7cf5064806c467f678d3b4080d6f1cc50af26ca209417308281b68af282623eaa63e5b5c0723d8b8c37ff0777b1a20f8ccb1dccc43997f1ee0e44da4a67an,
532
- }
533
- ],
534
- msg1: [
535
- {
536
- k: 0x040d09fcf3c8a5f62cf4fb223cbbb2b9937f6b0577c27020a99602c25a01136987e452988781484edbbcf1c47e554e7fc901bc3085e5206d9f619cff07e73d6f706n,
537
- r: 0x1c7ed902e123e6815546065a2c4af977b22aa8eaddb68b2c1110e7ea44d42086bfe4a34b67ddc0e17e96536e358219b23a706c6a6e16ba77b65e1c595d43cae17fbn,
538
- s: 0x177336676304fcb343ce028b38e7b4fba76c1c1b277da18cad2a8478b2a9a9f5bec0f3ba04f35db3e4263569ec6aade8c92746e4c82f8299ae1b8f1739f8fd519a4n,
539
- },
540
- {
541
- k: 0x01de74955efaabc4c4f17f8e84d881d1310b5392d7700275f82f145c61e843841af09035bf7a6210f5a431a6a9e81c9323354a9e69135d44ebd2fcaa7731b909258n,
542
- r: 0x00e871c4a14f993c6c7369501900c4bc1e9c7b0b4ba44e04868b30b41d8071042eb28c4c250411d0ce08cd197e4188ea4876f279f90b3d8d74a3c76e6f1e4656aa8n,
543
- s: 0x0cd52dbaa33b063c3a6cd8058a1fb0a46a4754b034fcc644766ca14da8ca5ca9fde00e88c1ad60ccba759025299079d7a427ec3cc5b619bfbc828e7769bcd694e86n,
544
- },
545
- {
546
- k: 0x1f1fc4a349a7da9a9e116bfdd055dc08e78252ff8e23ac276ac88b1770ae0b5dceb1ed14a4916b769a523ce1e90ba22846af11df8b300c38818f713dadd85de0c88n,
547
- r: 0x14bee21a18b6d8b3c93fab08d43e739707953244fdbe924fa926d76669e7ac8c89df62ed8975c2d8397a65a49dcc09f6b0ac62272741924d479354d74ff6075578cn,
548
- s: 0x133330865c067a0eaf72362a65e2d7bc4e461e8c8995c3b6226a21bd1aa78f0ed94fe536a0dca35534f0cd1510c41525d163fe9d74d134881e35141ed5e8e95b979n,
549
- },
550
- {
551
- k: 0x16200813020ec986863bedfc1b121f605c1215645018aea1a7b215a564de9eb1b38a67aa1128b80ce391c4fb71187654aaa3431027bfc7f395766ca988c964dc56dn,
552
- r: 0x13e99020abf5cee7525d16b69b229652ab6bdf2affcaef38773b4b7d08725f10cdb93482fdcc54edcee91eca4166b2a7c6265ef0ce2bd7051b7cef945babd47ee6dn,
553
- s: 0x1fbd0013c674aa79cb39849527916ce301c66ea7ce8b80682786ad60f98f7e78a19ca69eff5c57400e3b3a0ad66ce0978214d13baf4e9ac60752f7b155e2de4dce3n,
554
- },
555
- ]
556
- },
557
- };
558
- for (const v of Object.values(testVectors)) {
559
- check(v);
560
- }
561
- }
562
- };
@@ -1,21 +0,0 @@
1
- import type { Nullable } from '../../types/nullable/module.f.ts';
2
- /** Sloth VDF modulus (3072-bit safe prime, same as reference implementations). */
3
- export declare const p = 170082004324204494273811327264862981553264701145937538369570764779791492622392118654022654452947093285873855529044371650895045691292912712699015605832276411308653107069798639938826015099738961427172366594187783204437869906954750443653318078358839409699824714551430573905637228307966826784684174483831608534979n;
4
- /**
5
- * Sloth VDF over prime `modulus` (`p ≡ 3 (mod 4)`).
6
- */
7
- export type Sloth = {
8
- readonly p: bigint;
9
- readonly quadRes: (x: bigint) => boolean;
10
- readonly modSqrt: (x: bigint) => bigint;
11
- /** Sequential Sloth permutation; `null` when `steps < 0`. */
12
- readonly eval: (steps: bigint) => (x: bigint) => Nullable<bigint>;
13
- /** Fast verification of {@link Sloth.eval}; `false` when `steps < 0`. */
14
- readonly verify: (steps: bigint) => (x: bigint) => (y: bigint) => boolean;
15
- };
16
- /**
17
- * Builds Sloth VDF operations over `modulus`.
18
- */
19
- export declare const sloth_vdf: (modulus: bigint) => Sloth;
20
- /** Sloth VDF over {@link p}. */
21
- export declare const sloth: Sloth;
@@ -1,57 +0,0 @@
1
- /**
2
- * Sloth verifiable delay function over a fixed 3072-bit safe prime.
3
- *
4
- * @module
5
- *
6
- * @example
7
- *
8
- * ```ts
9
- * import { sloth } from './module.f.ts'
10
- *
11
- * const steps = 4n
12
- * const x = 42n
13
- * const y = sloth.eval(steps)(x)
14
- * if (y === null || !sloth.verify(steps)(x)(y)) { throw y }
15
- * ```
16
- */
17
- import { modSqrt, prime_field } from '../../types/prime_field/module.f.js';
18
- /** Sloth VDF modulus (3072-bit safe prime, same as reference implementations). */
19
- export const p = 0xf2346eae06a233882814ff16f6a076d3b8f2161c5c92171c0b7b84eed4e9475bcce0c13bde34512afdf90f41ab9b86dcf834f85e04b27fadee712eed23a1d4e58cd1b09d9bfb10696d614f119179a40c49dc8762edc29e8115263913237e14718cbcd4dc6b35bace13f8cdb1b5156c50c47b4aaee0820c874e2864cb854367c3n;
20
- const repeatSeq = (steps) => (f) => (value) => {
21
- let v = value;
22
- let i = 0n;
23
- while (i < steps) {
24
- v = f(v);
25
- i = i + 1n;
26
- }
27
- return v;
28
- };
29
- /**
30
- * Builds Sloth VDF operations over `modulus`.
31
- */
32
- export const sloth_vdf = (modulus) => {
33
- const field = prime_field(modulus);
34
- const { neg, pow2, reduce, quadRes } = field;
35
- const root = modSqrt(field);
36
- const squareLoop = (steps) => (value) => repeatSeq(steps)(pow2)(reduce(value));
37
- const modSqrtLoop = (steps) => (value) => repeatSeq(steps)(root)(reduce(value));
38
- const evalSteps = (steps) => (x) => steps < 0n ? null : modSqrtLoop(steps)(x);
39
- const verifySteps = (steps) => (x) => (y) => {
40
- if (steps < 0n) {
41
- return false;
42
- }
43
- const input = reduce(x);
44
- const squared = squareLoop(steps)(y);
45
- const value = quadRes(squared) ? squared : neg(squared);
46
- return input === value || neg(input) === value;
47
- };
48
- return {
49
- p: modulus,
50
- quadRes,
51
- modSqrt: root,
52
- eval: evalSteps,
53
- verify: verifySteps,
54
- };
55
- };
56
- /** Sloth VDF over {@link p}. */
57
- export const sloth = sloth_vdf(p);