ox 1.1.2 → 1.3.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 (296) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/core/AbiFunction.d.ts +1 -1
  3. package/dist/core/AbiFunction.d.ts.map +1 -1
  4. package/dist/core/AbiFunction.js +6 -2
  5. package/dist/core/AbiFunction.js.map +1 -1
  6. package/dist/core/AbiParameters.d.ts +1 -1
  7. package/dist/core/AbiParameters.d.ts.map +1 -1
  8. package/dist/core/AbiParameters.js +1 -13
  9. package/dist/core/AbiParameters.js.map +1 -1
  10. package/dist/core/AesGcm.d.ts +36 -1
  11. package/dist/core/AesGcm.d.ts.map +1 -1
  12. package/dist/core/AesGcm.js +44 -0
  13. package/dist/core/AesGcm.js.map +1 -1
  14. package/dist/core/Ed25519.d.ts +46 -1
  15. package/dist/core/Ed25519.d.ts.map +1 -1
  16. package/dist/core/Ed25519.js +43 -0
  17. package/dist/core/Ed25519.js.map +1 -1
  18. package/dist/core/Engine.d.ts +1 -1
  19. package/dist/core/Engine.d.ts.map +1 -1
  20. package/dist/core/Engine.js.map +1 -1
  21. package/dist/core/Hash.d.ts +200 -1
  22. package/dist/core/Hash.d.ts.map +1 -1
  23. package/dist/core/Hash.js +207 -0
  24. package/dist/core/Hash.js.map +1 -1
  25. package/dist/core/Hex.d.ts.map +1 -1
  26. package/dist/core/Hex.js +1 -4
  27. package/dist/core/Hex.js.map +1 -1
  28. package/dist/core/Rlp.d.ts +32 -0
  29. package/dist/core/Rlp.d.ts.map +1 -1
  30. package/dist/core/Rlp.js +146 -0
  31. package/dist/core/Rlp.js.map +1 -1
  32. package/dist/core/Secp256k1.d.ts +46 -1
  33. package/dist/core/Secp256k1.d.ts.map +1 -1
  34. package/dist/core/Secp256k1.js +48 -0
  35. package/dist/core/Secp256k1.js.map +1 -1
  36. package/dist/core/WebAuthn.d.ts +224 -0
  37. package/dist/core/WebAuthn.d.ts.map +1 -0
  38. package/dist/core/WebAuthn.js +343 -0
  39. package/dist/core/WebAuthn.js.map +1 -0
  40. package/dist/core/WebAuthnP256.d.ts +46 -50
  41. package/dist/core/WebAuthnP256.d.ts.map +1 -1
  42. package/dist/core/WebAuthnP256.js +44 -50
  43. package/dist/core/WebAuthnP256.js.map +1 -1
  44. package/dist/core/internal/abiParameters.d.ts +7 -87
  45. package/dist/core/internal/abiParameters.d.ts.map +1 -1
  46. package/dist/core/internal/abiParameters.js +339 -194
  47. package/dist/core/internal/abiParameters.js.map +1 -1
  48. package/dist/core/internal/engine.d.ts +35 -2
  49. package/dist/core/internal/engine.d.ts.map +1 -1
  50. package/dist/core/internal/engine.js +12 -1
  51. package/dist/core/internal/engine.js.map +1 -1
  52. package/dist/core/internal/hash.d.ts +10 -0
  53. package/dist/core/internal/hash.d.ts.map +1 -1
  54. package/dist/core/internal/hash.js +26 -1
  55. package/dist/core/internal/hash.js.map +1 -1
  56. package/dist/index.d.ts +23 -14
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +23 -14
  59. package/dist/index.js.map +1 -1
  60. package/dist/node/Engine.d.ts +1 -1
  61. package/dist/node/Engine.d.ts.map +1 -1
  62. package/dist/node/Engine.js.map +1 -1
  63. package/dist/node/Hash.d.ts +6 -4
  64. package/dist/node/Hash.d.ts.map +1 -1
  65. package/dist/node/Hash.js +35 -3
  66. package/dist/node/Hash.js.map +1 -1
  67. package/dist/tempo/AuthorizationTempo.d.ts +6 -6
  68. package/dist/tempo/AuthorizationTempo.js +6 -6
  69. package/dist/tempo/KeyAuthorization.d.ts +3 -8
  70. package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
  71. package/dist/tempo/KeyAuthorization.js +3 -8
  72. package/dist/tempo/KeyAuthorization.js.map +1 -1
  73. package/dist/tempo/SignatureEnvelope.d.ts +8 -8
  74. package/dist/tempo/SignatureEnvelope.js +8 -8
  75. package/dist/trusted-setups/Paths.d.ts +1 -0
  76. package/dist/trusted-setups/Paths.d.ts.map +1 -1
  77. package/dist/trusted-setups/Paths.js +1 -0
  78. package/dist/trusted-setups/Paths.js.map +1 -1
  79. package/dist/trusted-setups/Setups.d.ts +35 -0
  80. package/dist/trusted-setups/Setups.d.ts.map +1 -0
  81. package/dist/trusted-setups/Setups.js +29 -0
  82. package/dist/trusted-setups/Setups.js.map +1 -0
  83. package/dist/trusted-setups/index.d.ts +20 -0
  84. package/dist/trusted-setups/index.d.ts.map +1 -1
  85. package/dist/trusted-setups/index.js +20 -0
  86. package/dist/trusted-setups/index.js.map +1 -1
  87. package/dist/trusted-setups/internal/paths.d.ts.map +1 -1
  88. package/dist/trusted-setups/internal/paths.js +1 -1
  89. package/dist/trusted-setups/internal/paths.js.map +1 -1
  90. package/dist/trusted-setups/internal/setups/mainnet.d.ts +7 -0
  91. package/dist/trusted-setups/internal/setups/mainnet.d.ts.map +1 -0
  92. package/dist/trusted-setups/internal/setups/mainnet.js +11 -0
  93. package/dist/trusted-setups/internal/setups/mainnet.js.map +1 -0
  94. package/dist/wasm/Engine.d.ts +4 -3
  95. package/dist/wasm/Engine.d.ts.map +1 -1
  96. package/dist/wasm/Engine.js +5 -5
  97. package/dist/wasm/Engine.js.map +1 -1
  98. package/dist/wasm/Hash.d.ts +1 -1
  99. package/dist/wasm/Hash.d.ts.map +1 -1
  100. package/dist/wasm/Hash.js +5 -0
  101. package/dist/wasm/Hash.js.map +1 -1
  102. package/dist/wasm/Keystore.d.ts +23 -9
  103. package/dist/wasm/Keystore.d.ts.map +1 -1
  104. package/dist/wasm/Keystore.js +30 -13
  105. package/dist/wasm/Keystore.js.map +1 -1
  106. package/dist/wasm/Kzg.d.ts +112 -0
  107. package/dist/wasm/Kzg.d.ts.map +1 -0
  108. package/dist/wasm/Kzg.js +333 -0
  109. package/dist/wasm/Kzg.js.map +1 -0
  110. package/dist/wasm/Secp256k1.d.ts +55 -0
  111. package/dist/wasm/Secp256k1.d.ts.map +1 -0
  112. package/dist/wasm/Secp256k1.js +181 -0
  113. package/dist/wasm/Secp256k1.js.map +1 -0
  114. package/dist/wasm/index.d.ts +44 -1
  115. package/dist/wasm/index.d.ts.map +1 -1
  116. package/dist/wasm/index.js +44 -1
  117. package/dist/wasm/index.js.map +1 -1
  118. package/dist/wasm/internal/blake3.d.ts +10 -1
  119. package/dist/wasm/internal/blake3.d.ts.map +1 -1
  120. package/dist/wasm/internal/blake3.js +12 -1
  121. package/dist/wasm/internal/blake3.js.map +1 -1
  122. package/dist/wasm/internal/blake3.wasm.d.ts +3 -1
  123. package/dist/wasm/internal/blake3.wasm.d.ts.map +1 -1
  124. package/dist/wasm/internal/blake3.wasm.js +3 -1
  125. package/dist/wasm/internal/blake3.wasm.js.map +1 -1
  126. package/dist/wasm/internal/hash.d.ts +9 -0
  127. package/dist/wasm/internal/hash.d.ts.map +1 -1
  128. package/dist/wasm/internal/hash.js +13 -1
  129. package/dist/wasm/internal/hash.js.map +1 -1
  130. package/dist/wasm/internal/hashState.d.ts +25 -0
  131. package/dist/wasm/internal/hashState.d.ts.map +1 -0
  132. package/dist/wasm/internal/hashState.js +105 -0
  133. package/dist/wasm/internal/hashState.js.map +1 -0
  134. package/dist/wasm/internal/hashes.d.ts +12 -1
  135. package/dist/wasm/internal/hashes.d.ts.map +1 -1
  136. package/dist/wasm/internal/hashes.js +18 -1
  137. package/dist/wasm/internal/hashes.js.map +1 -1
  138. package/dist/wasm/internal/hashes.wasm.d.ts +11 -3
  139. package/dist/wasm/internal/hashes.wasm.d.ts.map +1 -1
  140. package/dist/wasm/internal/hashes.wasm.js +11 -3
  141. package/dist/wasm/internal/hashes.wasm.js.map +1 -1
  142. package/dist/wasm/internal/instantiate.d.ts +12 -0
  143. package/dist/wasm/internal/instantiate.d.ts.map +1 -1
  144. package/dist/wasm/internal/instantiate.js +23 -7
  145. package/dist/wasm/internal/instantiate.js.map +1 -1
  146. package/dist/wasm/internal/keystore.d.ts +10 -0
  147. package/dist/wasm/internal/keystore.d.ts.map +1 -0
  148. package/dist/wasm/internal/keystore.js +10 -0
  149. package/dist/wasm/internal/keystore.js.map +1 -0
  150. package/dist/wasm/internal/kzg.d.ts +17 -0
  151. package/dist/wasm/internal/kzg.d.ts.map +1 -0
  152. package/dist/wasm/internal/kzg.js +8 -0
  153. package/dist/wasm/internal/kzg.js.map +1 -0
  154. package/dist/wasm/internal/kzg.wasm.d.ts +3 -0
  155. package/dist/wasm/internal/kzg.wasm.d.ts.map +1 -0
  156. package/dist/wasm/internal/kzg.wasm.js +10 -0
  157. package/dist/wasm/internal/kzg.wasm.js.map +1 -0
  158. package/dist/wasm/internal/scrypt.d.ts +16 -0
  159. package/dist/wasm/internal/scrypt.d.ts.map +1 -0
  160. package/dist/wasm/internal/scrypt.js +78 -0
  161. package/dist/wasm/internal/scrypt.js.map +1 -0
  162. package/dist/wasm/internal/scrypt.wasm.d.ts +7 -0
  163. package/dist/wasm/internal/scrypt.wasm.d.ts.map +1 -0
  164. package/dist/wasm/internal/scrypt.wasm.js +14 -0
  165. package/dist/wasm/internal/scrypt.wasm.js.map +1 -0
  166. package/dist/wasm/internal/secp256k1.d.ts +16 -0
  167. package/dist/wasm/internal/secp256k1.d.ts.map +1 -0
  168. package/dist/wasm/internal/secp256k1.js +20 -0
  169. package/dist/wasm/internal/secp256k1.js.map +1 -0
  170. package/dist/wasm/internal/secp256k1.wasm.d.ts +3 -0
  171. package/dist/wasm/internal/secp256k1.wasm.d.ts.map +1 -0
  172. package/dist/wasm/internal/secp256k1.wasm.js +10 -0
  173. package/dist/wasm/internal/secp256k1.wasm.js.map +1 -0
  174. package/dist/webauthn/Authentication.d.ts +2 -0
  175. package/dist/webauthn/Authentication.d.ts.map +1 -1
  176. package/dist/webauthn/Authentication.js +2 -1
  177. package/dist/webauthn/Authentication.js.map +1 -1
  178. package/dist/webauthn/Registration.d.ts.map +1 -1
  179. package/dist/webauthn/Registration.js +2 -1
  180. package/dist/webauthn/Registration.js.map +1 -1
  181. package/dist/webauthn/Types.d.ts +27 -6
  182. package/dist/webauthn/Types.d.ts.map +1 -1
  183. package/dist/webauthn/internal/utils.d.ts.map +1 -1
  184. package/dist/webauthn/internal/utils.js +35 -9
  185. package/dist/webauthn/internal/utils.js.map +1 -1
  186. package/dist/zod/TypedData.d.ts +2 -2
  187. package/package.json +27 -2
  188. package/src/benchmarks/Ox.bench.ts +6 -0
  189. package/src/benchmarks/OxNode.bench.ts +8 -0
  190. package/src/benchmarks/OxV0.bench.ts +4 -0
  191. package/src/benchmarks/OxWasm.bench.ts +22 -0
  192. package/src/core/AbiFunction.ts +5 -5
  193. package/src/core/AbiParameters.ts +8 -20
  194. package/src/core/AesGcm.ts +86 -1
  195. package/src/core/Ed25519.ts +87 -1
  196. package/src/core/Engine.ts +1 -0
  197. package/src/core/Hash.ts +321 -1
  198. package/src/core/Hex.ts +1 -4
  199. package/src/core/Rlp.ts +172 -5
  200. package/src/core/Secp256k1.ts +92 -1
  201. package/src/core/WebAuthn.ts +579 -0
  202. package/src/core/WebAuthnP256.ts +47 -50
  203. package/src/core/_test/AbiFunction.test.ts +9 -0
  204. package/src/core/_test/AbiParameters.differential.fuzz.ts +156 -0
  205. package/src/core/_test/AbiParameters.encode.test.ts +22 -0
  206. package/src/core/_test/AbiParameters.fuzz.ts +4 -0
  207. package/src/core/_test/AesGcm.test.ts +76 -0
  208. package/src/core/_test/Block.test.ts +9 -2
  209. package/src/core/_test/Ed25519.test-d.ts +13 -1
  210. package/src/core/_test/Ed25519.test.ts +120 -1
  211. package/src/core/_test/Engine.test-d.ts +9 -0
  212. package/src/core/_test/Engine.test.ts +1 -1
  213. package/src/core/_test/Hash.test-d.ts +41 -0
  214. package/src/core/_test/Hash.test.ts +278 -1
  215. package/src/core/_test/Hash.vectors.test.ts +1 -2
  216. package/src/core/_test/Hex.test.ts +2 -0
  217. package/src/core/_test/Rlp.test-d.ts +18 -0
  218. package/src/core/_test/Rlp.test.ts +109 -0
  219. package/src/core/_test/Secp256k1.test-d.ts +14 -0
  220. package/src/core/_test/Secp256k1.test.ts +91 -1
  221. package/src/core/_test/Transaction.test.ts +11 -2
  222. package/src/core/_test/WebAuthn.test-d.ts +142 -0
  223. package/src/core/_test/WebAuthn.test.ts +766 -0
  224. package/src/core/_test/index.test.ts +1 -0
  225. package/src/core/internal/abiParameters.ts +466 -326
  226. package/src/core/internal/engine.ts +47 -2
  227. package/src/core/internal/hash.ts +53 -1
  228. package/src/index.ts +24 -14
  229. package/src/node/Engine.ts +1 -0
  230. package/src/node/Hash.ts +43 -6
  231. package/src/node/_test/Engine.test-d.ts +1 -0
  232. package/src/node/_test/Engine.test.ts +2 -0
  233. package/src/node/_test/Hash.test-d.ts +11 -0
  234. package/src/node/_test/Hash.test.ts +46 -0
  235. package/src/tempo/AuthorizationTempo.ts +6 -6
  236. package/src/tempo/KeyAuthorization.ts +3 -8
  237. package/src/tempo/SignatureEnvelope.ts +8 -8
  238. package/src/trusted-setups/Paths.ts +1 -0
  239. package/src/trusted-setups/README.md +39 -0
  240. package/src/trusted-setups/Setups.ts +46 -0
  241. package/src/trusted-setups/_test/Paths.test.ts +16 -0
  242. package/src/trusted-setups/_test/Setups.test-d.ts +7 -0
  243. package/src/trusted-setups/_test/Setups.test.ts +43 -0
  244. package/src/trusted-setups/_test/index.test.ts +1 -0
  245. package/src/trusted-setups/index.ts +21 -0
  246. package/src/trusted-setups/internal/paths.ts +4 -1
  247. package/src/trusted-setups/internal/setups/mainnet.source.json +7 -0
  248. package/src/trusted-setups/internal/setups/mainnet.ts +16 -0
  249. package/src/version.ts +1 -1
  250. package/src/wasm/Engine.ts +9 -6
  251. package/src/wasm/Hash.ts +10 -0
  252. package/src/wasm/Keystore.bench.ts +26 -0
  253. package/src/wasm/Keystore.ts +32 -14
  254. package/src/wasm/Kzg.bench.ts +63 -0
  255. package/src/wasm/Kzg.ts +518 -0
  256. package/src/wasm/Secp256k1.bench.ts +79 -0
  257. package/src/wasm/Secp256k1.ts +248 -0
  258. package/src/wasm/_test/Engine.test-d.ts +2 -0
  259. package/src/wasm/_test/Engine.test.ts +5 -0
  260. package/src/wasm/_test/Hash.browser.test.ts +31 -0
  261. package/src/wasm/_test/Hash.test-d.ts +17 -0
  262. package/src/wasm/_test/Hash.test.ts +252 -3
  263. package/src/wasm/_test/Keystore.browser.test.ts +31 -0
  264. package/src/wasm/_test/Keystore.fuzz.ts +50 -0
  265. package/src/wasm/_test/Keystore.test-d.ts +10 -1
  266. package/src/wasm/_test/Keystore.test.ts +289 -4
  267. package/src/wasm/_test/Kzg.test-d.ts +19 -0
  268. package/src/wasm/_test/Kzg.test.ts +220 -0
  269. package/src/wasm/_test/Runtime.test.ts +9 -0
  270. package/src/wasm/_test/Secp256k1.test-d.ts +35 -0
  271. package/src/wasm/_test/Secp256k1.test.ts +354 -0
  272. package/src/wasm/index.ts +46 -1
  273. package/src/wasm/internal/blake3.ts +23 -2
  274. package/src/wasm/internal/blake3.wasm.ts +4 -1
  275. package/src/wasm/internal/hash.ts +27 -1
  276. package/src/wasm/internal/hashState.ts +154 -0
  277. package/src/wasm/internal/hashes.ts +56 -15
  278. package/src/wasm/internal/hashes.wasm.ts +15 -3
  279. package/src/wasm/internal/instantiate.ts +29 -9
  280. package/src/wasm/internal/keystore.ts +19 -0
  281. package/src/wasm/internal/kzg.ts +50 -0
  282. package/src/wasm/internal/kzg.wasm.ts +11 -0
  283. package/src/wasm/internal/scrypt.ts +131 -0
  284. package/src/wasm/internal/scrypt.wasm.ts +17 -0
  285. package/src/wasm/internal/secp256k1.ts +62 -0
  286. package/src/wasm/internal/secp256k1.wasm.ts +11 -0
  287. package/src/webauthn/Authentication.ts +4 -0
  288. package/src/webauthn/Registration.ts +2 -0
  289. package/src/webauthn/Types.ts +32 -2
  290. package/src/webauthn/_test/Authentication.test.ts +123 -1
  291. package/src/webauthn/_test/Registration.test.ts +26 -6
  292. package/src/webauthn/_test/WebAuthn.browser.test.ts +28 -0
  293. package/src/webauthn/internal/utils.ts +41 -8
  294. package/wasm/vendor/c-kzg-4844/LICENSE +201 -0
  295. package/wasm/vendor/c-kzg-4844/blst/LICENSE +201 -0
  296. package/src/trusted-setups/internal/setups/mainnet.txt +0 -4163
@@ -0,0 +1,105 @@
1
+ import { MemoryError } from './instantiate.js';
2
+ const alignment = 8;
3
+ const wasm32Size = 0x1_0000_0000;
4
+ function align(value) {
5
+ return Math.ceil(value / alignment) * alignment;
6
+ }
7
+ function reserve(module, end) {
8
+ if (!Number.isSafeInteger(end) || end > wasm32Size)
9
+ throw new MemoryError({
10
+ bytes: end,
11
+ cause: new RangeError('Hash workspace exceeds wasm32 memory.'),
12
+ });
13
+ module.reserve(end - module.heapBase);
14
+ }
15
+ /**
16
+ * Creates a hash state whose authoritative bytes live in host memory.
17
+ *
18
+ * The shared WASM instance only holds a state during one synchronous call.
19
+ * Every workspace is cleared before control returns to the caller.
20
+ *
21
+ * @internal
22
+ */
23
+ export function create(module, options) {
24
+ const { digestSize, finalize, init, stateSize, update } = options;
25
+ const initial = options.input ?? new Uint8Array();
26
+ const inputPtr = module.heapBase;
27
+ const statePtr = align(inputPtr + initial.length);
28
+ const end = statePtr + stateSize;
29
+ reserve(module, end);
30
+ let state;
31
+ try {
32
+ module.exports.zero(module.heapBase, end - module.heapBase);
33
+ const view = module.view();
34
+ view.set(initial, inputPtr);
35
+ init(module.exports, statePtr, inputPtr, initial.length);
36
+ state = module.view().slice(statePtr, end);
37
+ }
38
+ finally {
39
+ module.exports.zero(module.heapBase, end - module.heapBase);
40
+ }
41
+ return fromSnapshot(module, state, {
42
+ digestSize,
43
+ finalize,
44
+ stateSize,
45
+ update,
46
+ });
47
+ }
48
+ function fromSnapshot(module, state, options) {
49
+ const { digestSize, finalize, stateSize, update } = options;
50
+ let active = true;
51
+ const assertActive = () => {
52
+ if (!active)
53
+ throw new Error('Hash state has been destroyed.');
54
+ };
55
+ const hashState = {
56
+ clone() {
57
+ assertActive();
58
+ return fromSnapshot(module, state.slice(), options);
59
+ },
60
+ destroy() {
61
+ if (!active)
62
+ return;
63
+ active = false;
64
+ state.fill(0);
65
+ },
66
+ digestInto(output) {
67
+ assertActive();
68
+ if (output.length < digestSize)
69
+ throw new RangeError(`Digest output requires at least ${digestSize} bytes.`);
70
+ const statePtr = align(module.heapBase);
71
+ const outPtr = statePtr + stateSize;
72
+ const end = outPtr + digestSize;
73
+ reserve(module, end);
74
+ active = false;
75
+ try {
76
+ module.view().set(state, statePtr);
77
+ finalize(module.exports, statePtr, outPtr);
78
+ output.set(module.view().subarray(outPtr, end));
79
+ }
80
+ finally {
81
+ state.fill(0);
82
+ module.exports.zero(module.heapBase, end - module.heapBase);
83
+ }
84
+ },
85
+ update(input) {
86
+ assertActive();
87
+ const inputPtr = module.heapBase;
88
+ const statePtr = align(inputPtr + input.length);
89
+ const end = statePtr + stateSize;
90
+ reserve(module, end);
91
+ try {
92
+ const view = module.view();
93
+ view.set(input, inputPtr);
94
+ view.set(state, statePtr);
95
+ update(module.exports, statePtr, inputPtr, input.length);
96
+ state.set(module.view().subarray(statePtr, end));
97
+ }
98
+ finally {
99
+ module.exports.zero(module.heapBase, end - module.heapBase);
100
+ }
101
+ },
102
+ };
103
+ return hashState;
104
+ }
105
+ //# sourceMappingURL=hashState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashState.js","sourceRoot":"","sources":["../../../src/wasm/internal/hashState.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,15 @@
1
1
  import * as hash from './hash.js';
2
2
  import * as internal from './instantiate.js';
3
+ type Algorithm = 'keccak256' | 'ripemd160' | 'sha256';
4
+ type StateExports = {
5
+ [key in `${Algorithm}_init`]: (state: number) => void;
6
+ } & {
7
+ [key in `${Algorithm}_update`]: (state: number, input: number, inputLength: number) => void;
8
+ } & {
9
+ [key in `${Algorithm}_finalize`]: (state: number, out: number) => void;
10
+ };
3
11
  /** Exports shared by the Hash and Keystore providers. @internal */
4
- export type Exports = hash.Exports & {
12
+ export type Exports = hash.Exports & hash.StateExports & StateExports & {
5
13
  keccak256(input: number, length: number, out: number): void;
6
14
  pbkdf2_sha256(password: number, passwordLength: number, salt: number, saltLength: number, iterations: number, out: number, outLength: number, scratch: number): void;
7
15
  ripemd160(input: number, length: number, out: number): void;
@@ -9,4 +17,7 @@ export type Exports = hash.Exports & {
9
17
  };
10
18
  /** Returns the one memoized hashes instance shared by its provider modules. */
11
19
  export declare function load(): Promise<internal.Module<Exports>>;
20
+ /** Creates an incremental state for one of the shared hash primitives. @internal */
21
+ export declare function create(module: internal.Module<Exports>, hash: Algorithm): import("../Engine.js").HashState;
22
+ export {};
12
23
  //# sourceMappingURL=hashes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hashes.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AAE5C,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3D,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,IAAI,CAAA;IACP,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACzD,CAAA;AAMD,+EAA+E;AAC/E,wBAAgB,IAAI,sCAEnB"}
1
+ {"version":3,"file":"hashes.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAQjC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AAE5C,KAAK,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAA;AAErD,KAAK,YAAY,GAAG;KACjB,GAAG,IAAI,GAAG,SAAS,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;CACtD,GAAG;KACD,GAAG,IAAI,GAAG,SAAS,SAAS,GAAG,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,KAChB,IAAI;CACV,GAAG;KACD,GAAG,IAAI,GAAG,SAAS,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;CACvE,CAAA;AAED,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAChC,IAAI,CAAC,YAAY,GACjB,YAAY,GAAG;IACb,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3D,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,IAAI,CAAA;IACP,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACzD,CAAA;AAaH,+EAA+E;AAC/E,wBAAgB,IAAI,sCAEnB;AAED,oFAAoF;AACpF,wBAAgB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,oCASvE"}
@@ -1,8 +1,25 @@
1
- import { wasmBase64 } from './hashes.wasm.js';
1
+ import { keccak256StateSize, ripemd160StateSize, sha256StateSize, wasmBase64, } from './hashes.wasm.js';
2
+ import * as hashState from './hashState.js';
2
3
  import * as internal from './instantiate.js';
4
+ const digestSize = { keccak256: 32, ripemd160: 20, sha256: 32 };
5
+ const stateSize = {
6
+ keccak256: keccak256StateSize,
7
+ ripemd160: ripemd160StateSize,
8
+ sha256: sha256StateSize,
9
+ };
3
10
  const instantiate = /*#__PURE__*/ internal.memoize(() => internal.instantiate(wasmBase64));
4
11
  /** Returns the one memoized hashes instance shared by its provider modules. */
5
12
  export function load() {
6
13
  return instantiate();
7
14
  }
15
+ /** Creates an incremental state for one of the shared hash primitives. @internal */
16
+ export function create(module, hash) {
17
+ return hashState.create(module, {
18
+ digestSize: digestSize[hash],
19
+ finalize: (exports, state, out) => exports[`${hash}_finalize`](state, out),
20
+ init: (exports, state) => exports[`${hash}_init`](state),
21
+ stateSize: stateSize[hash],
22
+ update: (exports, state, input, inputLength) => exports[`${hash}_update`](state, input, inputLength),
23
+ });
24
+ }
8
25
  //# sourceMappingURL=hashes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hashes.js","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AAmB5C,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CACtD,QAAQ,CAAC,WAAW,CAAU,UAAU,CAAC,CAC1C,CAAA;AAED,+EAA+E;AAC/E,MAAM,UAAU,IAAI;IAClB,OAAO,WAAW,EAAE,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"hashes.js","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AAmC5C,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AAC/D,MAAM,SAAS,GAAG;IAChB,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,eAAe;CACxB,CAAA;AAED,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CACtD,QAAQ,CAAC,WAAW,CAAU,UAAU,CAAC,CAC1C,CAAA;AAED,+EAA+E;AAC/E,MAAM,UAAU,IAAI;IAClB,OAAO,WAAW,EAAE,CAAA;AACtB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,MAAM,CAAC,MAAgC,EAAE,IAAe;IACtE,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9B,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC;QAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC;QAC1E,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC;QACxD,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAC7C,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC;KACvD,CAAC,CAAA;AACJ,CAAC"}
@@ -1,7 +1,15 @@
1
1
  /** Base64-encoded WASM binary. */
2
- export declare const wasmBase64 = "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dnM6ACkgByAHLQAqIDBzOgAqIAcgBCAHLQArczoAKyAHIActACwgHHM6ACwgByAHLQAtIAhBEHZzOgAtIAcgBy0ALiAxczoALiAHIAggBy0AL3M6AC8gByAHLQAwIB1zOgAwIAcgBy0AMSALQRB2czoAMSAHIActADIgMnM6ADIgByALIActADNzOgAzIAcgBy0ANCAeczoANCAHIActADUgCUEQdnM6ADUgByAHLQA2IDNzOgA2IAcgCSAHLQA3czoANyAHIActADggH3M6ADggByAHLQA5IA1BEHZzOgA5IAcgBy0AOiA0czoAOiAHIA0gBy0AO3M6ADsgByAHLQA8ICBzOgA8IAcgBy0APSAKQRB2czoAPSAHIActAD4gNXM6AD4gByAKIActAD9zOgA/IABBAWsiAA0ACwtBICAGIA5rIgEgAUEgTxshAAJAIAYgDkYNAEEBIAAgAEEBTRsiA0EDcSEIQQAhBCABQQRPBEAgBSAOaiELIANBPHEhCQNAIAQgC2oiASAEIAdqIgNBIGotAAA6AAAgAUEBaiADQSFqLQAAOgAAIAFBAmogA0Eiai0AADoAACABQQNqIANBI2otAAA6AAAgCSAEQQRqIgRHDQALCyAIRQ0AQQAgCGshASAEICFqIQMgBSAEIA5qaiEEA0AgBCADLQAAOgAAIANBAWohAyAEQQFqIQQgAUEBaiIBDQALCyAMQQFqIQwgACAOaiIOIAZJDQALC0EAIQMDQCADIAdqIgBBADoAACAAQQFqQQA6AAAgAEECakEAOgAAIABBA2pBADoAACAAQQRqQQA6AAAgAEEFakEAOgAAIABBBmpBADoAACAAQQdqQQA6AAAgAEEIakEAOgAAIABBCWpBADoAACAAQQpqQQA6AAAgAEELakEAOgAAIABBDGpBADoAACAAQQ1qQQA6AAAgAEEOakEAOgAAIABBD2pBADoAACADQRBqIgNBoARHDQALC78IARJ/IAIgASgAACIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZycjYCACACIAEoAAQiA0EYdCADQYD+A3FBCHRyIANBCHZBgP4DcSADQRh2cnI2AgQgAiABKAAIIgNBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyNgIIIAIgASgADCIDQRh0IANBgP4DcUEIdHIg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";
2
+ export declare const wasmBase64 = "AGFzbQEAAAABLgdgA39/fwBgAn9/AGABfwBgBn9/f39/fwBgCH9/f39/f39/AGACf38Bf2AAAX8DHRwDAAABAQEAAAIAAQICBAUAAgABAQACAAEBAgAGBQMBABAGCAF/AUHQjgQLB8wCFQZtZW1vcnkCAAxrZWNjYWtfZjE2MDAADA5rZWNjYWsyNTZfaW5pdAAIEGtlY2NhazI1Nl91cGRhdGUACRJrZWNjYWsyNTZfZmluYWxpemUACglrZWNjYWsyNTYABwtzaGEyNTZfaW5pdAAZDXNoYTI1Nl91cGRhdGUAAg9zaGEyNTZfZmluYWxpemUAGAZzaGEyNTYAFBBobWFjX3NoYTI1Nl9pbml0AAYSaG1hY19zaGEyNTZfdXBkYXRlAAIUaG1hY19zaGEyNTZfZmluYWxpemUABQtobWFjX3NoYTI1NgAADXBia2RmMl9zaGEyNTYADQ5yaXBlbWQxNjBfaW5pdAAQEHJpcGVtZDE2MF91cGRhdGUAERJyaXBlbWQxNjBfZmluYWxpemUAEglyaXBlbWQxNjAADwR6ZXJvAAQJaGVhcF9iYXNlABsKwlMcHwAgBSAAIAEQASAFIAIgAxAWIAUgBBADIAVBkAEQBAuTBAEDfyMAQbABayIDJAAgA0IANwOoASADQgA3A6ABIANCADcDmAEgA0IANwOQASADQgA3A4gBIANCADcDgAEgA0IANwN4IANCADcDcAJAIAJBwABNBEAgAkUNASACQQNxIQUgAkEETwRAIAJB/ABxIQIDQCADQfAAaiAEaiABIARqKAAANgIAIAIgBEEEaiIERw0ACwsgBUUNASABIARqIQEgA0HwAGogBGohBANAIAQgAS0AADoAACABQQFqIQEgBEEBaiEEIAVBAWsiBQ0ACwwBCyADEBUgAyABIAIQFiADIANB8ABqEBcgA0HwABAECyAAEBVBACEBA0AgA0HwAGoiBCABaiICIAItAABBNnM6AAAgAkEBaiIFIAUtAABBNnM6AAAgAkECaiIFIAUtAABBNnM6AAAgAkEDaiICIAItAABBNnM6AAAgAUEEaiIBQcAARw0ACyAAIARBwAAQFiADEBVBACEBA0AgA0HwAGoiBCABaiICIAItAABB6gBzOgAAIAJBAWoiBSAFLQAAQeoAczoAACACQQJqIgUgBS0AAEHqAHM6AAAgAkEDaiICIAItAABB6gBzOgAAIAFBBGoiAUHAAEcNAAsgAyAEQcAAEBYgACADKQMINwJwIAAgAykDEDcCeCAAIAMpAxg3AoABIAAgAykDIDcCiAEgA0HwABAEIARBwAAQBCADQbABaiQACwoAIAAgASACEBYLtgMBAn8jAEGQAWsiAiQAIAAgAkHwAGoiAxAXIAIQFSACQsAANwMAIAIgACkCcDcDCCACIAApAng3AxAgAiAAKQKAATcDGCACIAApAogBNwMgIAIgA0EgEBYgAiAAQSxqEBcgAkHwABAEIANBIBAEIAEgAC0ALDoAACABIAAtAC06AAEgASAALQAuOgACIAEgAC0ALzoAAyABIAAtADA6AAQgASAALQAxOgAFIAEgAC0AMjoABiABIAAtADM6AAcgASAALQA0OgAIIAEgAC0ANToACSABIAAtADY6AAogASAALQA3OgALIAEgAC0AODoADCABIAAtADk6AA0gASAALQA6OgAOIAEgAC0AOzoADyABIAAtADw6ABAgASAALQA9OgARIAEgAC0APjoAEiABIAAtAD86ABMgASAALQBAOgAUIAEgAC0AQToAFSABIAAtAEI6ABYgASAALQBDOgAXIAEgAC0ARDoAGCABIAAtAEU6ABkgASAALQBGOgAaIAEgAC0ARzoAGyABIAAtAEg6ABwgASAALQBJOgAdIAEgAC0ASjoAHiABIAAtAEs6AB8gAkGQAWokAAuTAQECfwJAIAFFDQACQCABQQdxIgNFBEAgASECDAELIAFBeHEhAgNAIABBADoAACAAQQFqIQAgA0EBayIDDQALCyABQQhJDQADQCAAQQA6AAAgAEEAOgABIABBADoAAiAAQQA6AAMgAEEAOgAEIABBADoABSAAQQA6AAYgAEEAOgAHIABBCGohACACQQhrIgINAAsLCwgAIAAgARADCwoAIAAgASACEAELLQECfyMAQeACayIDJAAgA0EIaiIEEAggBCAAIAEQCSAEIAIQCiADQeACaiQAC+IBAQF/IABBADYCyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgAEIANwOoASAAQgA3A6ABIABCADcDmAEgAEIANwOQASAAQgA3A4gBIABCADcDgAEgAEIANwN4IABCADcDcCAAQgA3A2ggAEIANwNgIABCADcDWCAAQgA3A1AgAEIANwNIIABCADcDQCAAQgA3AzggAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAA0AgACABakHMAWpCADcAACABQQhqIgFBiAFHDQALC5UJAQd/AkAgACgCyAEiAwRAQYgBIANrIgcgAiACIAdLGyIEBEAgBEEDcSEFQQAhAyAEQQRPBEAgBEF8cSEIA0AgACADIAAoAsgBampBzAFqIAEgA2oiBi0AADoAACAAIAMgACgCyAFqakHNAWogBkEBai0AADoAACAAIAMgACgCyAFqakHOAWogBkECai0AADoAACAAIAMgACgCyAFqakHPAWogBkEDai0AADoAACAIIANBBGoiA0cNAAsLIAUEQCABIANqIQYgACADakHMAWohAwNAIAMgACgCyAFqIAYtAAA6AAAgBkEBaiEGIANBAWohAyAFQQFrIgUNAAsLIAAoAsgBIQMLIAAgAyAEaiIDNgLIASADQYgBRgRAIAAgACkDACAAKQDMAYU3AwAgACAAKQMIIAApANQBhTcDCCAAIAApAxAgACkA3AGFNwMQIAAgACkDGCAAKQDkAYU3AxggACAAKQMgIAApAOwBhTcDICAAIAApAyggACkA9AGFNwMoIAAgACkDMCAAKQD8AYU3AzAgACAAKQM4IAApAIQChTcDOCAAIAApA0AgACkAjAKFNwNAIAAgACkDSCAAKQCUAoU3A0ggACAAKQNQIAApAJwChTcDUCAAIAApA1ggACkApAKFNwNYIAAgACkDYCAAKQCsAoU3A2AgACAAKQNoIAApALQChTcDaCAAIAApA3AgACkAvAKFNwNwIAAgACkDeCAAKQDEAoU3A3ggACAAKQOAASAAKQDMAoU3A4ABIAAQCyAAQQA2AsgBCyACIAdNDQELIAIgBGsiBUGIAU8EQANAIAAgACkDACABIARqIgIpAACFNwMAIAAgACkDCCACKQAIhTcDCCAAIAApAxAgAkEQaikAAIU3AxAgACAAKQMYIAJBGGopAACFNwMYIAAgACkDICACQSBqKQAAhTcDICAAIAApAyggAkEoaikAAIU3AyggACAAKQMwIAJBMGopAACFNwMwIAAgACkDOCACQThqKQAAhTcDOCAAIAApA0AgAkFAaykAAIU3A0AgACAAKQNIIAJByABqKQAAhTcD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AgAiDSEJIAAoAgQiDiEBIAAoAggiDyEFIAAoAgwiECEMIAAoAhwiESEKIAAoAhgiEiEIIAAoAhQiEyEDIAAoAhAiFCEGA0AgBSEEIAEhBSACIAtqKAIAIAtBwAlqKAIAIAogBiIHQRp3IAdBFXdzIAdBB3dzaiAHQX9zIAhxIAMgB3FyampqIgYgCSIBQR53IAFBE3dzIAFBCndzIAEgBCAFc3EgBCAFcXNqaiEJIAYgDGohBiAEIQwgCCEKIAMhCCAHIQMgC0EEaiILQYACRw0ACyAAIAogEWo2AhwgACAIIBJqNgIYIAAgAyATajYCFCAAIAYgFGo2AhAgACAEIBBqNgIMIAAgBSAPajYCCCAAIAEgDmo2AgQgACAJIA1qNgIACyUBAX9BwA4tAAAiAARAQdCOBEEAIAAbDwtBwA5BAToAAEHQjgQLC7kGAwBBgAgLpAQBAAAAAAAAAIKAAAAAAAAAioAAAAAAAIAAgACAAAAAgIuAAAAAAAAAAQAAgAAAAACBgACAAAAAgAmAAAAAAACAigAAAAAAAACIAAAAAAAAAAmAAIAAAAAACgAAgAAAAACLgACAAAAAAIsAAAAAAACAiYAAAAAAAIADgAAAAAAAgAKAAAAAAACAgAAAAAAAAIAKgAAAAAAAAAoAAIAAAACAgYAAgAAAAICAgAAAAAAAgAEAAIAAAAAACIAAgAAAAICYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGAAECAwQFBgcICQoLDA0ODwcEDQEKBg8DDAAJBQIOCwgDCg4ECQ8IAQIHAAYNCwUMAQkLCgAIDAQNAwcPDgUGAgQABQkHDAIKDgEDCAsGDw0AAAAAmXmCWqHr2W7cvBuPTv1TqQBBsAwLsAELDg8MBQgHCQsNDg8GBwkIBwYIDQsJBw8HDA8JCwcNDAsNBgcOCQ0PDggNBgUMBwULDA4PDg8JCAkOBQYIBgUMCQ8FCwYIDQwFDA0OCwgFBgUOBwAJAgsEDQYPCAEKAwwGCwMHAA0FCg4PCAwECQECDwUBAwcOBgkLCAwCCgAEDQgGBAEDCw8ABQwCDQkHCg4MDwoEAQUIBwYCDQ4AAwkL5ouiUCTRTVzzPnBt6XZtegBB8A0LUAgJCQsNDw8FBwcICw4ODAYJDQ8HDAgJCwcHDAcGDw0LCQcPCwgGBg4MDQUODQ0HBQ8FCAsODgYOBgkMCQwFDwgIBQwJDAUOBggNBgUPDQsL";
3
3
  /** Constant shared with the module's C source. */
4
- export declare const hmacSha256ScratchSize = 544;
4
+ export declare const hmacSha256ScratchSize = 144;
5
5
  /** Constant shared with the module's C source. */
6
- export declare const pbkdf2Sha256ScratchSize = 544;
6
+ export declare const hmacSha256StateSize = 144;
7
+ /** Constant shared with the module's C source. */
8
+ export declare const keccak256StateSize = 344;
9
+ /** Constant shared with the module's C source. */
10
+ export declare const pbkdf2Sha256ScratchSize = 352;
11
+ /** Constant shared with the module's C source. */
12
+ export declare const ripemd160StateSize = 96;
13
+ /** Constant shared with the module's C source. */
14
+ export declare const sha256StateSize = 112;
7
15
  //# sourceMappingURL=hashes.wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hashes.wasm.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.wasm.ts"],"names":[],"mappings":"AAQA,kCAAkC;AAClC,eAAO,MAAM,UAAU,69aACq8a,CAAA;AAE59a,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,MAAM,CAAA"}
1
+ {"version":3,"file":"hashes.wasm.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.wasm.ts"],"names":[],"mappings":"AAQA,kCAAkC;AAClC,eAAO,MAAM,UAAU,6kfACqjf,CAAA;AAE5kf,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAE1C,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAEpC,kDAAkD;AAClD,eAAO,MAAM,eAAe,MAAM,CAAA"}
@@ -6,9 +6,17 @@
6
6
  // `pnpm wasm:check` rebuilds this file and fails if the bytes differ, so any
7
7
  // change to the C or to `wasm/targets.ts` must be followed by `pnpm wasm:build`.
8
8
  /** Base64-encoded WASM binary. */
9
- export const wasmBase64 = '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dnM6ACkgByAHLQAqIDBzOgAqIAcgBCAHLQArczoAKyAHIActACwgHHM6ACwgByAHLQAtIAhBEHZzOgAtIAcgBy0ALiAxczoALiAHIAggBy0AL3M6AC8gByAHLQAwIB1zOgAwIAcgBy0AMSALQRB2czoAMSAHIActADIgMnM6ADIgByALIActADNzOgAzIAcgBy0ANCAeczoANCAHIActADUgCUEQdnM6ADUgByAHLQA2IDNzOgA2IAcgCSAHLQA3czoANyAHIActADggH3M6ADggByAHLQA5IA1BEHZzOgA5IAcgBy0AOiA0czoAOiAHIA0gBy0AO3M6ADsgByAHLQA8ICBzOgA8IAcgBy0APSAKQRB2czoAPSAHIActAD4gNXM6AD4gByAKIActAD9zOgA/IABBAWsiAA0ACwtBICAGIA5rIgEgAUEgTxshAAJAIAYgDkYNAEEBIAAgAEEBTRsiA0EDcSEIQQAhBCABQQRPBEAgBSAOaiELIANBPHEhCQNAIAQgC2oiASAEIAdqIgNBIGotAAA6AAAgAUEBaiADQSFqLQAAOgAAIAFBAmogA0Eiai0AADoAACABQQNqIANBI2otAAA6AAAgCSAEQQRqIgRHDQALCyAIRQ0AQQAgCGshASAEICFqIQMgBSAEIA5qaiEEA0AgBCADLQAAOgAAIANBAWohAyAEQQFqIQQgAUEBaiIBDQALCyAMQQFqIQwgACAOaiIOIAZJDQALC0EAIQMDQCADIAdqIgBBADoAACAAQQFqQQA6AAAgAEECakEAOgAAIABBA2pBADoAACAAQQRqQQA6AAAgAEEFakEAOgAAIABBBmpBADoAACAAQQdqQQA6AAAgAEEIakEAOgAAIABBCWpBADoAACAAQQpqQQA6AAAgAEELakEAOgAAIABBDGpBADoAACAAQQ1qQQA6AAAgAEEOakEAOgAAIABBD2pBADoAACADQRBqIgNBoARHDQALC78IARJ/IAIgASgAACIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZycjYCACACIAEoAAQiA0EYdCADQYD+A3FBCHRyIANBCHZBgP4DcSADQRh2cnI2AgQgAiABKAAIIgNBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyNgIIIAIgASgADCIDQRh0IANBgP4DcUEIdHIg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';
9
+ export const wasmBase64 = 'AGFzbQEAAAABLgdgA39/fwBgAn9/AGABfwBgBn9/f39/fwBgCH9/f39/f39/AGACf38Bf2AAAX8DHRwDAAABAQEAAAIAAQICBAUAAgABAQACAAEBAgAGBQMBABAGCAF/AUHQjgQLB8wCFQZtZW1vcnkCAAxrZWNjYWtfZjE2MDAADA5rZWNjYWsyNTZfaW5pdAAIEGtlY2NhazI1Nl91cGRhdGUACRJrZWNjYWsyNTZfZmluYWxpemUACglrZWNjYWsyNTYABwtzaGEyNTZfaW5pdAAZDXNoYTI1Nl91cGRhdGUAAg9zaGEyNTZfZmluYWxpemUAGAZzaGEyNTYAFBBobWFjX3NoYTI1Nl9pbml0AAYSaG1hY19zaGEyNTZfdXBkYXRlAAIUaG1hY19zaGEyNTZfZmluYWxpemUABQtobWFjX3NoYTI1NgAADXBia2RmMl9zaGEyNTYADQ5yaXBlbWQxNjBfaW5pdAAQEHJpcGVtZDE2MF91cGRhdGUAERJyaXBlbWQxNjBfZmluYWxpemUAEglyaXBlbWQxNjAADwR6ZXJvAAQJaGVhcF9iYXNlABsKwlMcHwAgBSAAIAEQASAFIAIgAxAWIAUgBBADIAVBkAEQBAuTBAEDfyMAQbABayIDJAAgA0IANwOoASADQgA3A6ABIANCADcDmAEgA0IANwOQASADQgA3A4gBIANCADcDgAEgA0IANwN4IANCADcDcAJAIAJBwABNBEAgAkUNASACQQNxIQUgAkEETwRAIAJB/ABxIQIDQCADQfAAaiAEaiABIARqKAAANgIAIAIgBEEEaiIERw0ACwsgBUUNASABIARqIQEgA0HwAGogBGohBANAIAQgAS0AADoAACABQQFqIQEgBEEBaiEEIAVBAWsiBQ0ACwwBCyADEBUgAyABIAIQFiADIANB8ABqEBcgA0HwABAECyAAEBVBACEBA0AgA0HwAGoiBCABaiICIAItAABBNnM6AAAgAkEBaiIFIAUtAABBNnM6AAAgAkECaiIFIAUtAABBNnM6AAAgAkEDaiICIAItAABBNnM6AAAgAUEEaiIBQcAARw0ACyAAIARBwAAQFiADEBVBACEBA0AgA0HwAGoiBCABaiICIAItAABB6gBzOgAAIAJBAWoiBSAFLQAAQeoAczoAACACQQJqIgUgBS0AAEHqAHM6AAAgAkEDaiICIAItAABB6gBzOgAAIAFBBGoiAUHAAEcNAAsgAyAEQcAAEBYgACADKQMINwJwIAAgAykDEDcCeCAAIAMpAxg3AoABIAAgAykDIDcCiAEgA0HwABAEIARBwAAQBCADQbABaiQACwoAIAAgASACEBYLtgMBAn8jAEGQAWsiAiQAIAAgAkHwAGoiAxAXIAIQFSACQsAANwMAIAIgACkCcDcDCCACIAApAng3AxAgAiAAKQKAATcDGCACIAApAogBNwMgIAIgA0EgEBYgAiAAQSxqEBcgAkHwABAEIANBIBAEIAEgAC0ALDoAACABIAAtAC06AAEgASAALQAuOgACIAEgAC0ALzoAAyABIAAtADA6AAQgASAALQAxOgAFIAEgAC0AMjoABiABIAAtADM6AAcgASAALQA0OgAIIAEgAC0ANToACSABIAAtADY6AAogASAALQA3OgALIAEgAC0AODoADCABIAAtADk6AA0gASAALQA6OgAOIAEgAC0AOzoADyABIAAtADw6ABAgASAALQA9OgARIAEgAC0APjoAEiABIAAtAD86ABMgASAALQBAOgAUIAEgAC0AQToAFSABIAAtAEI6ABYgASAALQBDOgAXIAEgAC0ARDoAGCABIAAtAEU6ABkgASAALQBGOgAaIAEgAC0ARzoAGyABIAAtAEg6ABwgASAALQBJOgAdIAEgAC0ASjoAHiABIAAtAEs6AB8gAkGQAWokAAuTAQECfwJAIAFFDQACQCABQQdxIgNFBEAgASECDAELIAFBeHEhAgNAIABBADoAACAAQQFqIQAgA0EBayIDDQALCyABQQhJDQADQCAAQQA6AAAgAEEAOgABIABBADoAAiAAQQA6AAMgAEEAOgAEIABBADoABSAAQQA6AAYgAEEAOgAHIABBCGohACACQQhrIgINAAsLCwgAIAAgARADCwoAIAAgASACEAELLQECfyMAQeACayIDJAAgA0EIaiIEEAggBCAAIAEQCSAEIAIQCiADQeACaiQAC+IBAQF/IABBADYCyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgAEIANwOoASAAQgA3A6ABIABCADcDmAEgAEIANwOQASAAQgA3A4gBIABCADcDgAEgAEIANwN4IABCADcDcCAAQgA3A2ggAEIANwNgIABCADcDWCAAQgA3A1AgAEIANwNIIABCADcDQCAAQgA3AzggAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAA0AgACABakHMAWpCADcAACABQQhqIgFBiAFHDQALC5UJAQd/AkAgACgCyAEiAwRAQYgBIANrIgcgAiACIAdLGyIEBEAgBEEDcSEFQQAhAyAEQQRPBEAgBEF8cSEIA0AgACADIAAoAsgBampBzAFqIAEgA2oiBi0AADoAACAAIAMgACgCyAFqakHNAWogBkEBai0AADoAACAAIAMgACgCyAFqakHOAWogBkECai0AADoAACAAIAMgACgCyAFqakHPAWogBkEDai0AADoAACAIIANBBGoiA0cNAAsLIAUEQCABIANqIQYgACADakHMAWohAwNAIAMgACgCyAFqIAYtAAA6AAAgBkEBaiEGIANBAWohAyAFQQFrIgUNAAsLIAAoAsgBIQMLIAAgAyAEaiIDNgLIASADQYgBRgRAIAAgACkDACAAKQDMAYU3AwAgACAAKQMIIAApANQBhTcDCCAAIAApAxAgACkA3AGFNwMQIAAgACkDGCAAKQDkAYU3AxggACAAKQMgIAApAOwBhTcDICAAIAApAyggACkA9AGFNwMoIAAgACkDMCAAKQD8AYU3AzAgACAAKQM4IAApAIQChTcDOCAAIAApA0AgACkAjAKFNwNAIAAgACkDSCAAKQCUAoU3A0ggACAAKQNQIAApAJwChTcDUCAAIAApA1ggACkApAKFNwNYIAAgACkDYCAAKQCsAoU3A2AgACAAKQNoIAApALQChTcDaCAAIAApA3AgACkAvAKFNwNwIAAgACkDeCAAKQDEAoU3A3ggACAAKQOAASAAKQDMAoU3A4ABIAAQCyAAQQA2AsgBCyACIAdNDQELIAIgBGsiBUGIAU8EQANAIAAgACkDACABIARqIgIpAACFNwMAIAAgACkDCCACKQAIhTcDCCAAIAApAxAgAkEQaikAAIU3AxAgACAAKQMYIAJBGGopAACFNwMYIAAgACkDICACQSBqKQAAhTcDICAAIAApAyggAkEoaikAAIU3AyggACAAKQMwIAJBMGopAACFNwMwIAAgACkDOCACQThqKQAAhTcDOCAAIAApA0AgAkFAaykAAIU3A0AgACAAKQNIIAJByABqKQAAhTcD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AgAiDSEJIAAoAgQiDiEBIAAoAggiDyEFIAAoAgwiECEMIAAoAhwiESEKIAAoAhgiEiEIIAAoAhQiEyEDIAAoAhAiFCEGA0AgBSEEIAEhBSACIAtqKAIAIAtBwAlqKAIAIAogBiIHQRp3IAdBFXdzIAdBB3dzaiAHQX9zIAhxIAMgB3FyampqIgYgCSIBQR53IAFBE3dzIAFBCndzIAEgBCAFc3EgBCAFcXNqaiEJIAYgDGohBiAEIQwgCCEKIAMhCCAHIQMgC0EEaiILQYACRw0ACyAAIAogEWo2AhwgACAIIBJqNgIYIAAgAyATajYCFCAAIAYgFGo2AhAgACAEIBBqNgIMIAAgBSAPajYCCCAAIAEgDmo2AgQgACAJIA1qNgIACyUBAX9BwA4tAAAiAARAQdCOBEEAIAAbDwtBwA5BAToAAEHQjgQLC7kGAwBBgAgLpAQBAAAAAAAAAIKAAAAAAAAAioAAAAAAAIAAgACAAAAAgIuAAAAAAAAAAQAAgAAAAACBgACAAAAAgAmAAAAAAACAigAAAAAAAACIAAAAAAAAAAmAAIAAAAAACgAAgAAAAACLgACAAAAAAIsAAAAAAACAiYAAAAAAAIADgAAAAAAAgAKAAAAAAACAgAAAAAAAAIAKgAAAAAAAAAoAAIAAAACAgYAAgAAAAICAgAAAAAAAgAEAAIAAAAAACIAAgAAAAICYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGAAECAwQFBgcICQoLDA0ODwcEDQEKBg8DDAAJBQIOCwgDCg4ECQ8IAQIHAAYNCwUMAQkLCgAIDAQNAwcPDgUGAgQABQkHDAIKDgEDCAsGDw0AAAAAmXmCWqHr2W7cvBuPTv1TqQBBsAwLsAELDg8MBQgHCQsNDg8GBwkIBwYIDQsJBw8HDA8JCwcNDAsNBgcOCQ0PDggNBgUMBwULDA4PDg8JCAkOBQYIBgUMCQ8FCwYIDQwFDA0OCwgFBgUOBwAJAgsEDQYPCAEKAwwGCwMHAA0FCg4PCAwECQECDwUBAwcOBgkLCAwCCgAEDQgGBAEDCw8ABQwCDQkHCg4MDwoEAQUIBwYCDQ4AAwkL5ouiUCTRTVzzPnBt6XZtegBB8A0LUAgJCQsNDw8FBwcICw4ODAYJDQ8HDAgJCwcHDAcGDw0LCQcPCwgGBg4MDQUODQ0HBQ8FCAsODgYOBgkMCQwFDwgIBQwJDAUOBggNBgUPDQsL';
10
10
  /** Constant shared with the module's C source. */
11
- export const hmacSha256ScratchSize = 544;
11
+ export const hmacSha256ScratchSize = 144;
12
12
  /** Constant shared with the module's C source. */
13
- export const pbkdf2Sha256ScratchSize = 544;
13
+ export const hmacSha256StateSize = 144;
14
+ /** Constant shared with the module's C source. */
15
+ export const keccak256StateSize = 344;
16
+ /** Constant shared with the module's C source. */
17
+ export const pbkdf2Sha256ScratchSize = 352;
18
+ /** Constant shared with the module's C source. */
19
+ export const ripemd160StateSize = 96;
20
+ /** Constant shared with the module's C source. */
21
+ export const sha256StateSize = 112;
14
22
  //# sourceMappingURL=hashes.wasm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hashes.wasm.js","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.wasm.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AAEjF,kCAAkC;AAClC,MAAM,CAAC,MAAM,UAAU,GACrB,09aAA09a,CAAA;AAE59a,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAExC,kDAAkD;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA"}
1
+ {"version":3,"file":"hashes.wasm.js","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.wasm.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AAEjF,kCAAkC;AAClC,MAAM,CAAC,MAAM,UAAU,GACrB,0kfAA0kf,CAAA;AAE5kf,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAExC,kDAAkD;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAEtC,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAErC,kDAAkD;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAE1C,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAEpC,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA"}
@@ -25,6 +25,18 @@ export type Module<exports extends Record<string, unknown>> = {
25
25
  */
26
26
  view(): Uint8Array;
27
27
  };
28
+ /**
29
+ * Compiles a base64-encoded WASM module without instantiating it.
30
+ *
31
+ * @internal
32
+ */
33
+ export declare function compile(base64: string): Promise<WebAssembly.Module>;
34
+ /**
35
+ * Instantiates a compiled WASM module.
36
+ *
37
+ * @internal
38
+ */
39
+ export declare function instantiateModule<exports extends Record<string, unknown>>(compiled: WebAssembly.Module): Promise<Module<exports>>;
28
40
  /**
29
41
  * Instantiates a base64-encoded WASM module.
30
42
  *
@@ -1 +1 @@
1
- {"version":3,"file":"instantiate.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C;;;;GAIG;AAEH,yEAAyE;AACzE,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC5D,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;;;;OAMG;IACH,IAAI,IAAI,UAAU,CAAA;CACnB,CAAA;AAqBD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAkC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GACzB,MAAM,OAAO,CAAC,KAAK,CAAC,CAYtB;AAED,6EAA6E;AAC7E,qBAAa,WAAY,SAAQ,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;IACtD,SAAkB,IAAI,sBAAqB;gBAE/B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE;CAS9D"}
1
+ {"version":3,"file":"instantiate.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C;;;;GAIG;AAEH,yEAAyE;AACzE,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC5D,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;;;;OAMG;IACH,IAAI,IAAI,UAAU,CAAA;CACnB,CAAA;AAqBD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAkCxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAE1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GACzB,MAAM,OAAO,CAAC,KAAK,CAAC,CAYtB;AAED,6EAA6E;AAC7E,qBAAa,WAAY,SAAQ,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;IACtD,SAAkB,IAAI,sBAAqB;gBAE/B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE;CAS9D"}
@@ -15,16 +15,20 @@ function decode(base64) {
15
15
  return bytes;
16
16
  }
17
17
  /**
18
- * Instantiates a base64-encoded WASM module.
18
+ * Compiles a base64-encoded WASM module without instantiating it.
19
19
  *
20
- * Always asynchronous: browsers refuse to compile modules larger than a few
21
- * kilobytes synchronously on the main thread, so there is no synchronous path to
22
- * fall back to. Callers await this once and then call the module synchronously.
20
+ * @internal
21
+ */
22
+ export async function compile(base64) {
23
+ return WebAssembly.compile(decode(base64));
24
+ }
25
+ /**
26
+ * Instantiates a compiled WASM module.
23
27
  *
24
28
  * @internal
25
29
  */
26
- export async function instantiate(base64) {
27
- const { instance } = await WebAssembly.instantiate(decode(base64), {});
30
+ export async function instantiateModule(compiled) {
31
+ const instance = await WebAssembly.instantiate(compiled, {});
28
32
  const exports = instance.exports;
29
33
  const { memory } = exports;
30
34
  const heapBase = exports.heap_base();
@@ -54,6 +58,18 @@ export async function instantiate(base64) {
54
58
  },
55
59
  };
56
60
  }
61
+ /**
62
+ * Instantiates a base64-encoded WASM module.
63
+ *
64
+ * Always asynchronous: browsers refuse to compile modules larger than a few
65
+ * kilobytes synchronously on the main thread, so there is no synchronous path to
66
+ * fall back to. Callers await this once and then call the module synchronously.
67
+ *
68
+ * @internal
69
+ */
70
+ export async function instantiate(base64) {
71
+ return instantiateModule(await compile(base64));
72
+ }
57
73
  /**
58
74
  * Memoizes a loader so concurrent callers compile the module once.
59
75
  *
@@ -84,7 +100,7 @@ export class MemoryError extends Errors.BaseError {
84
100
  cause,
85
101
  metaMessages: [
86
102
  `Required: ${bytes} bytes`,
87
- 'The input may be too large for this runtime. Reset the engine slot with `Engine.reset` to fall back to the default implementation.',
103
+ 'The input or requested workspace may be too large for this runtime. Reset the engine slot with `Engine.reset` to fall back to the default implementation.',
88
104
  ],
89
105
  });
90
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"instantiate.js","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AA8B9C,MAAM,QAAQ,GAAG,MAAM,CAAA;AAEvB,SAAS,MAAM,CAAC,MAAc;IAC5B,4EAA4E;IAC5E,iBAAiB;IACjB,MAAM,UAAU,GACd,UAGD,CAAC,UAAU,CAAA;IACZ,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,IAAI,OAAO,MAAM,KAAK,WAAW;QAC/B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACvE,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAc;IAEd,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAGd,CAAA;IAEX,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;IAEpC,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE1C,OAAO;QACL,OAAO;QACP,QAAQ;QACR,OAAO,CAAC,KAAK;YACX,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAA;YACjC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ;gBAAE,OAAM;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAA;YACzE,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC;QACD,IAAI;YACF,2EAA2E;YAC3E,mBAAmB;YACnB,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;gBACjC,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxC,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CACrB,IAA0B;IAE1B,IAAI,MAAkC,CAAA;IACtC,OAAO,GAAG,EAAE;QACV,0EAA0E;QAC1E,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,GAAG,SAAS,CAAA;YAClB,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,SAAgB;IACpC,IAAI,GAAG,kBAAkB,CAAA;IAE3C,YAAY,EAAE,KAAK,EAAE,KAAK,EAAmC;QAC3D,KAAK,CAAC,sDAAsD,EAAE;YAC5D,KAAK;YACL,YAAY,EAAE;gBACZ,aAAa,KAAK,QAAQ;gBAC1B,oIAAoI;aACrI;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"instantiate.js","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type * as Engine from '../../core/Engine.js';
2
+ /** Compiles the aggregate engine's synchronous PBKDF2 implementation. */
3
+ export declare function engine(): Promise<engine.ReturnType>;
4
+ export declare namespace engine {
5
+ /** The aggregate WASM engine's `Keystore` primitives. */
6
+ type ReturnType = {
7
+ pbkdf2Sha256: NonNullable<Engine.Keystore['pbkdf2Sha256']>;
8
+ };
9
+ }
10
+ //# sourceMappingURL=keystore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystore.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/keystore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAInD,yEAAyE;AACzE,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAMzD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,yDAAyD;IACzD,KAAK,UAAU,GAAG;QAChB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;KAC3D,CAAA;CACF"}
@@ -0,0 +1,10 @@
1
+ import * as hashes from './hashes.js';
2
+ import * as pbkdf2 from './pbkdf2.js';
3
+ /** Compiles the aggregate engine's synchronous PBKDF2 implementation. */
4
+ export async function engine() {
5
+ const module = await hashes.load();
6
+ return {
7
+ pbkdf2Sha256: (password, salt, options) => pbkdf2.pbkdf2Sha256(module, password, salt, options),
8
+ };
9
+ }
10
+ //# sourceMappingURL=keystore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../../src/wasm/internal/keystore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAClC,OAAO;QACL,YAAY,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CACxC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;KACvD,CAAA;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type Module } from './instantiate.js';
2
+ /** Exports supplied by the dedicated c-kzg artifact. @internal */
3
+ export type Exports = {
4
+ alloc(size: number): number;
5
+ dealloc(ptr: number): void;
6
+ kzg_blob_to_kzg_commitment(out: number, blob: number): number;
7
+ kzg_compute_cells(cells: number, blob: number): number;
8
+ kzg_compute_cells_and_kzg_proofs(cells: number, proofs: number, blob: number): number;
9
+ kzg_dispose(): void;
10
+ kzg_initialize(g1Monomial: number, g1Lagrange: number, g2Monomial: number, precompute: number): number;
11
+ kzg_recover_cells_and_kzg_proofs(recoveredCells: number, recoveredProofs: number, cellIndices: number, cells: number, count: number): number;
12
+ kzg_verify_cell_kzg_proof_batch(verified: number, commitments: number, cellIndices: number, cells: number, proofs: number, count: number): number;
13
+ zero(ptr: number, length: number): void;
14
+ };
15
+ /** Instantiates an independently owned c-kzg module. @internal */
16
+ export declare function instantiate(): Promise<Module<Exports>>;
17
+ //# sourceMappingURL=kzg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kzg.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/kzg.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,kBAAkB,CAAA;AAGzB,kEAAkE;AAClE,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7D,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACtD,gCAAgC,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CAAA;IACT,WAAW,IAAI,IAAI,CAAA;IACnB,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAA;IACT,gCAAgC,CAC9B,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,MAAM,CAAA;IACT,+BAA+B,CAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAAA;IACT,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC,CAAA;AAID,kEAAkE;AAClE,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAE5D"}
@@ -0,0 +1,8 @@
1
+ import { compile, instantiateModule, memoize, } from './instantiate.js';
2
+ import { wasmBase64 } from './kzg.wasm.js';
3
+ const load = memoize(() => compile(wasmBase64));
4
+ /** Instantiates an independently owned c-kzg module. @internal */
5
+ export async function instantiate() {
6
+ return instantiateModule(await load());
7
+ }
8
+ //# sourceMappingURL=kzg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kzg.js","sourceRoot":"","sources":["../../../src/wasm/internal/kzg.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,OAAO,GAER,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAsC1C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/C,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,iBAAiB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;AACxC,CAAC"}