ox 1.0.5 → 1.1.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 (217) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/core/Base64.d.ts +10 -21
  3. package/dist/core/Base64.d.ts.map +1 -1
  4. package/dist/core/Base64.js +8 -127
  5. package/dist/core/Base64.js.map +1 -1
  6. package/dist/core/BinaryStateTree.d.ts.map +1 -1
  7. package/dist/core/BinaryStateTree.js +2 -2
  8. package/dist/core/BinaryStateTree.js.map +1 -1
  9. package/dist/core/Bls.d.ts.map +1 -1
  10. package/dist/core/Bls.js +19 -44
  11. package/dist/core/Bls.js.map +1 -1
  12. package/dist/core/Ed25519.d.ts.map +1 -1
  13. package/dist/core/Ed25519.js +7 -6
  14. package/dist/core/Ed25519.js.map +1 -1
  15. package/dist/core/Engine.d.ts +124 -0
  16. package/dist/core/Engine.d.ts.map +1 -0
  17. package/dist/core/Engine.js +180 -0
  18. package/dist/core/Engine.js.map +1 -0
  19. package/dist/core/Hash.d.ts +4 -4
  20. package/dist/core/Hash.d.ts.map +1 -1
  21. package/dist/core/Hash.js +9 -12
  22. package/dist/core/Hash.js.map +1 -1
  23. package/dist/core/Keystore.d.ts.map +1 -1
  24. package/dist/core/Keystore.js +15 -10
  25. package/dist/core/Keystore.js.map +1 -1
  26. package/dist/core/Mnemonic.d.ts.map +1 -1
  27. package/dist/core/Mnemonic.js +3 -2
  28. package/dist/core/Mnemonic.js.map +1 -1
  29. package/dist/core/P256.d.ts.map +1 -1
  30. package/dist/core/P256.js +8 -9
  31. package/dist/core/P256.js.map +1 -1
  32. package/dist/core/Secp256k1.d.ts.map +1 -1
  33. package/dist/core/Secp256k1.js +8 -9
  34. package/dist/core/Secp256k1.js.map +1 -1
  35. package/dist/core/WebCryptoP256.d.ts.map +1 -1
  36. package/dist/core/WebCryptoP256.js +2 -2
  37. package/dist/core/WebCryptoP256.js.map +1 -1
  38. package/dist/core/X25519.d.ts.map +1 -1
  39. package/dist/core/X25519.js +4 -3
  40. package/dist/core/X25519.js.map +1 -1
  41. package/dist/core/internal/bls.d.ts +12 -0
  42. package/dist/core/internal/bls.d.ts.map +1 -0
  43. package/dist/core/internal/bls.js +79 -0
  44. package/dist/core/internal/bls.js.map +1 -0
  45. package/dist/core/internal/codec/base64.d.ts +84 -0
  46. package/dist/core/internal/codec/base64.d.ts.map +1 -0
  47. package/dist/core/internal/codec/base64.js +177 -0
  48. package/dist/core/internal/codec/base64.js.map +1 -0
  49. package/dist/core/internal/codec/hex.d.ts +49 -4
  50. package/dist/core/internal/codec/hex.d.ts.map +1 -1
  51. package/dist/core/internal/codec/hex.js +109 -35
  52. package/dist/core/internal/codec/hex.js.map +1 -1
  53. package/dist/core/internal/curves.d.ts +17 -0
  54. package/dist/core/internal/curves.d.ts.map +1 -0
  55. package/dist/core/internal/curves.js +17 -0
  56. package/dist/core/internal/curves.js.map +1 -0
  57. package/dist/core/internal/ed25519.d.ts +14 -0
  58. package/dist/core/internal/ed25519.d.ts.map +1 -0
  59. package/dist/core/internal/ed25519.js +29 -0
  60. package/dist/core/internal/ed25519.js.map +1 -0
  61. package/dist/core/internal/engine.d.ts +278 -0
  62. package/dist/core/internal/engine.d.ts.map +1 -0
  63. package/dist/core/internal/engine.js +131 -0
  64. package/dist/core/internal/engine.js.map +1 -0
  65. package/dist/core/internal/hash.d.ts +12 -0
  66. package/dist/core/internal/hash.d.ts.map +1 -0
  67. package/dist/core/internal/hash.js +30 -0
  68. package/dist/core/internal/hash.js.map +1 -0
  69. package/dist/core/internal/keystore.d.ts +14 -0
  70. package/dist/core/internal/keystore.d.ts.map +1 -0
  71. package/dist/core/internal/keystore.js +32 -0
  72. package/dist/core/internal/keystore.js.map +1 -0
  73. package/dist/core/internal/mnemonic.d.ts +4 -0
  74. package/dist/core/internal/mnemonic.d.ts.map +1 -0
  75. package/dist/core/internal/mnemonic.js +14 -0
  76. package/dist/core/internal/mnemonic.js.map +1 -0
  77. package/dist/core/internal/p256.d.ts +14 -0
  78. package/dist/core/internal/p256.d.ts.map +1 -0
  79. package/dist/core/internal/p256.js +36 -0
  80. package/dist/core/internal/p256.js.map +1 -0
  81. package/dist/core/internal/secp256k1.d.ts +14 -0
  82. package/dist/core/internal/secp256k1.d.ts.map +1 -0
  83. package/dist/core/internal/secp256k1.js +36 -0
  84. package/dist/core/internal/secp256k1.js.map +1 -0
  85. package/dist/core/internal/x25519.d.ts +8 -0
  86. package/dist/core/internal/x25519.d.ts.map +1 -0
  87. package/dist/core/internal/x25519.js +20 -0
  88. package/dist/core/internal/x25519.js.map +1 -0
  89. package/dist/index.d.ts +35 -0
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.docs.d.ts +2 -0
  92. package/dist/index.docs.d.ts.map +1 -1
  93. package/dist/index.docs.js +2 -0
  94. package/dist/index.docs.js.map +1 -1
  95. package/dist/index.js +35 -0
  96. package/dist/index.js.map +1 -1
  97. package/dist/node/Engine.d.ts +55 -0
  98. package/dist/node/Engine.d.ts.map +1 -0
  99. package/dist/node/Engine.js +51 -0
  100. package/dist/node/Engine.js.map +1 -0
  101. package/dist/node/Hash.d.ts +39 -0
  102. package/dist/node/Hash.d.ts.map +1 -0
  103. package/dist/node/Hash.js +37 -0
  104. package/dist/node/Hash.js.map +1 -0
  105. package/dist/node/index.d.ts +39 -0
  106. package/dist/node/index.d.ts.map +1 -0
  107. package/dist/node/index.js +39 -0
  108. package/dist/node/index.js.map +1 -0
  109. package/dist/tempo/VirtualMaster.d.ts +2 -0
  110. package/dist/tempo/VirtualMaster.d.ts.map +1 -1
  111. package/dist/tempo/VirtualMaster.js +19 -5
  112. package/dist/tempo/VirtualMaster.js.map +1 -1
  113. package/dist/tempo/internal/mine.wasm.d.ts +2 -4
  114. package/dist/tempo/internal/mine.wasm.d.ts.map +1 -1
  115. package/dist/tempo/internal/mine.wasm.js +7 -12
  116. package/dist/tempo/internal/mine.wasm.js.map +1 -1
  117. package/dist/tempo/internal/virtualMasterPool.js +4 -1
  118. package/dist/tempo/internal/virtualMasterPool.js.map +1 -1
  119. package/dist/wasm/Engine.d.ts +62 -0
  120. package/dist/wasm/Engine.d.ts.map +1 -0
  121. package/dist/wasm/Engine.js +57 -0
  122. package/dist/wasm/Engine.js.map +1 -0
  123. package/dist/wasm/Hash.d.ts +49 -0
  124. package/dist/wasm/Hash.d.ts.map +1 -0
  125. package/dist/wasm/Hash.js +70 -0
  126. package/dist/wasm/Hash.js.map +1 -0
  127. package/dist/wasm/index.d.ts +46 -0
  128. package/dist/wasm/index.d.ts.map +1 -0
  129. package/dist/wasm/index.js +46 -0
  130. package/dist/wasm/index.js.map +1 -0
  131. package/dist/wasm/internal/hash.d.ts +9 -0
  132. package/dist/wasm/internal/hash.d.ts.map +1 -0
  133. package/dist/wasm/internal/hash.js +26 -0
  134. package/dist/wasm/internal/hash.js.map +1 -0
  135. package/dist/wasm/internal/hashes.wasm.d.ts +5 -0
  136. package/dist/wasm/internal/hashes.wasm.d.ts.map +1 -0
  137. package/dist/wasm/internal/hashes.wasm.js +12 -0
  138. package/dist/wasm/internal/hashes.wasm.js.map +1 -0
  139. package/dist/wasm/internal/instantiate.d.ts +56 -0
  140. package/dist/wasm/internal/instantiate.d.ts.map +1 -0
  141. package/dist/wasm/internal/instantiate.js +92 -0
  142. package/dist/wasm/internal/instantiate.js.map +1 -0
  143. package/dist/zod/TypedData.d.ts +12 -12
  144. package/package.json +36 -1
  145. package/src/core/Base64.ts +19 -166
  146. package/src/core/BinaryStateTree.ts +2 -3
  147. package/src/core/Bls.ts +27 -77
  148. package/src/core/Ed25519.ts +7 -7
  149. package/src/core/Engine.ts +235 -0
  150. package/src/core/Hash.ts +9 -12
  151. package/src/core/Keystore.ts +17 -17
  152. package/src/core/Mnemonic.ts +3 -6
  153. package/src/core/P256.ts +15 -24
  154. package/src/core/Rlp_tx.bench.ts +2 -4
  155. package/src/core/Secp256k1.ts +9 -14
  156. package/src/core/TxEnvelopeEip1559.bench.ts +0 -5
  157. package/src/core/WebCryptoP256.ts +2 -2
  158. package/src/core/X25519.ts +4 -3
  159. package/src/core/_test/AbiParameters.adversarial.fuzz.ts +1 -2
  160. package/src/core/_test/AbiParameters.fuzz.ts +1 -2
  161. package/src/core/_test/Base.fuzz.ts +1 -2
  162. package/src/core/_test/Cbor.fuzz.ts +1 -2
  163. package/src/core/_test/Engine.fuzz.ts +293 -0
  164. package/src/core/_test/Engine.test-d.ts +84 -0
  165. package/src/core/_test/Engine.test.ts +523 -0
  166. package/src/core/_test/Hash.vectors.test.ts +56 -0
  167. package/src/core/_test/Hex.fuzz.ts +1 -2
  168. package/src/core/_test/Rlp.fuzz.ts +1 -2
  169. package/src/core/_test/Signature.fuzz.ts +1 -2
  170. package/src/core/_test/curves.test.ts +7 -0
  171. package/src/core/_test/index.test.ts +1 -0
  172. package/src/core/internal/bls.ts +121 -0
  173. package/src/core/internal/codec/_test/base64.conformance.ts +156 -0
  174. package/src/core/internal/codec/_test/hex.conformance.ts +204 -0
  175. package/src/core/internal/codec/_test/hex.fuzz.ts +234 -0
  176. package/src/core/internal/codec/_test/hex.test.ts +124 -0
  177. package/src/core/internal/codec/base64.ts +222 -0
  178. package/src/core/internal/codec/hex.ts +115 -34
  179. package/src/core/internal/curves.ts +18 -0
  180. package/src/core/internal/ed25519.ts +64 -0
  181. package/src/core/internal/engine.ts +410 -0
  182. package/src/core/internal/hash.ts +48 -0
  183. package/src/core/internal/keystore.ts +107 -0
  184. package/src/core/internal/mnemonic.ts +18 -0
  185. package/src/core/internal/p256.ts +91 -0
  186. package/src/core/internal/secp256k1.ts +91 -0
  187. package/src/core/internal/x25519.ts +40 -0
  188. package/src/index.docs.ts +2 -0
  189. package/src/index.ts +36 -0
  190. package/src/node/Engine.ts +69 -0
  191. package/src/node/Hash.ts +56 -0
  192. package/src/node/_test/Engine.test.ts +62 -0
  193. package/src/node/_test/Hash.test-d.ts +26 -0
  194. package/src/node/_test/Hash.test.ts +102 -0
  195. package/src/node/index.ts +40 -0
  196. package/src/tempo/VirtualMaster.test.ts +75 -0
  197. package/src/tempo/VirtualMaster.ts +28 -6
  198. package/src/tempo/internal/mine.wasm.ts +7 -13
  199. package/src/tempo/internal/virtualMasterPool.ts +4 -1
  200. package/src/tsconfig.json +2 -1
  201. package/src/version.ts +1 -1
  202. package/src/wasm/Engine.ts +76 -0
  203. package/src/wasm/Hash.bench.ts +60 -0
  204. package/src/wasm/Hash.ts +109 -0
  205. package/src/wasm/_test/Engine.test.ts +62 -0
  206. package/src/wasm/_test/Hash.browser.test.ts +50 -0
  207. package/src/wasm/_test/Hash.fuzz.ts +188 -0
  208. package/src/wasm/_test/Hash.test-d.ts +28 -0
  209. package/src/wasm/_test/Hash.test.ts +211 -0
  210. package/src/wasm/_test/Hash.vectors.test.ts +117 -0
  211. package/src/wasm/_test/Runtime.test.ts +21 -0
  212. package/src/wasm/_test/runtime.wasm.ts +11 -0
  213. package/src/wasm/index.ts +47 -0
  214. package/src/wasm/internal/hash.ts +50 -0
  215. package/src/wasm/internal/hashes.wasm.ts +14 -0
  216. package/src/wasm/internal/instantiate.ts +135 -0
  217. package/src/tempo/internal/mine.c +0 -182
@@ -1,12 +1,13 @@
1
- import { keccak_256 } from '@noble/hashes/sha3.js';
2
1
  import * as Address from '../core/Address.js';
3
2
  import * as Bytes from '../core/Bytes.js';
4
3
  import * as Errors from '../core/Errors.js';
4
+ import * as hash_ from '../core/internal/hash.js';
5
5
  import * as Hex from '../core/Hex.js';
6
6
  import * as VirtualMasterPool from './internal/virtualMasterPool.js';
7
7
  import * as VirtualAddress from './VirtualAddress.js';
8
8
  const tip20Prefix = '0x20c000000000000000000000';
9
9
  const zeroAddress = '0x0000000000000000000000000000000000000000';
10
+ const maxUint32 = 2 ** 32 - 1;
10
11
  /**
11
12
  * Computes the TIP-1022 registration hash for a master address and salt.
12
13
  *
@@ -160,7 +161,7 @@ export function mineSalt(value) {
160
161
  const saltView = input.subarray(addressBytes.length);
161
162
  saltView.set(toFixedBytes(value.start ?? 0n, 32));
162
163
  for (let i = 0; i < count; i++) {
163
- const hash = keccak_256(input);
164
+ const hash = hash_.keccak256(input);
164
165
  if (hash[0] === 0 && hash[1] === 0 && hash[2] === 0 && hash[3] === 0) {
165
166
  return {
166
167
  masterId: Hex.fromBytes(hash.subarray(4, 8)),
@@ -201,12 +202,13 @@ export function mineSalt(value) {
201
202
  */
202
203
  export async function mineSaltAsync(parameters) {
203
204
  const { chunkSize = 100_000, count = 2 ** 32, onProgress, signal, start: start_ = 0n, workers = getDefaultWorkerCount(), } = parameters;
204
- const address = resolveAddress(parameters.address);
205
- const start = toFixedHex(start_, 32);
205
+ assertChunkSize(chunkSize);
206
206
  assertCount(count);
207
207
  if (workers !== undefined)
208
208
  assertWorkers(workers);
209
209
  throwIfAborted(signal);
210
+ const address = resolveAddress(parameters.address);
211
+ const start = toFixedHex(start_, 32);
210
212
  const workerCount = Math.max(1, Math.min(workers, Math.ceil(count / chunkSize)));
211
213
  if (workerCount <= 1)
212
214
  return mineSaltAsyncFallback({
@@ -374,6 +376,18 @@ function assertWorkers(workers) {
374
376
  return;
375
377
  throw new Errors.BaseError(`Workers "${workers}" is invalid. Expected a non-negative safe integer.`);
376
378
  }
379
+ /**
380
+ * Asserts that `chunkSize` fits the miner's unsigned 32-bit WASM ABI.
381
+ *
382
+ * @internal
383
+ */
384
+ function assertChunkSize(chunkSize) {
385
+ if (Number.isSafeInteger(chunkSize) &&
386
+ chunkSize > 0 &&
387
+ chunkSize <= maxUint32)
388
+ return;
389
+ throw new Errors.BaseError(`Chunk size "${chunkSize}" is invalid. Expected a positive safe integer no greater than ${maxUint32}.`);
390
+ }
377
391
  /**
378
392
  * Extracts or creates an error from an `AbortSignal`.
379
393
  *
@@ -466,7 +480,7 @@ function buildRegistrationDigest(address, salt) {
466
480
  const addressBytes = Bytes.fromHex(resolveAddress(address));
467
481
  buffer.set(addressBytes);
468
482
  buffer.set(toFixedBytes(salt, 32), addressBytes.length);
469
- return keccak_256(buffer);
483
+ return hash_.keccak256(buffer);
470
484
  }
471
485
  /**
472
486
  * Throws if the address is zero, virtual, or a TIP-20 token.
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualMaster.js","sourceRoot":"","sources":["../../src/tempo/VirtualMaster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualMaster.js","sourceRoot":"","sources":["../../src/tempo/VirtualMaster.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- /** Base64-encoded WASM binary for the TIP-1022 salt miner. */
2
- export declare const wasmBase64 = "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";
3
- /** Byte offset in WASM linear memory where mining I/O begins. */
4
- export declare const dataOffset = 1024;
1
+ /** Base64-encoded WASM binary. */
2
+ export declare const wasmBase64 = "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";
5
3
  //# sourceMappingURL=mine.wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mine.wasm.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/mine.wasm.ts"],"names":[],"mappings":"AAWA,8DAA8D;AAC9D,eAAO,MAAM,UAAU,iuGACysG,CAAA;AAEhuG,iEAAiE;AACjE,eAAO,MAAM,UAAU,OAAO,CAAA"}
1
+ {"version":3,"file":"mine.wasm.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/mine.wasm.ts"],"names":[],"mappings":"AAQA,kCAAkC;AAClC,eAAO,MAAM,UAAU,i6GACy4G,CAAA"}
@@ -1,15 +1,10 @@
1
- // Embedded TIP-1022 WASM keccak256 salt miner (compiled from mine.c).
1
+ // Generated by `pnpm wasm:build --target=mine`. Do not edit.
2
2
  //
3
- // Memory layout at offset 1024:
4
- // [0..19] address (20 bytes, set by JS)
5
- // [20..51] salt (32 bytes, set/read by JS, incremented in-place)
6
- // [52..83] hash out (32 bytes, written on match)
3
+ // Compiled from wasm/src/mine.c, wasm/src/ox_rt.c
4
+ // with wasi-sdk 25.0 + binaryen 123.
7
5
  //
8
- // Exported: mine(count: i32) -> i32 returns 1 if found, 0 if not.
9
- //
10
- // Generated by: pnpm tsx scripts/build-mine-wasm.ts
11
- /** Base64-encoded WASM binary for the TIP-1022 salt miner. */
12
- export const wasmBase64 = 'AGFzbQEAAAABBgFgAX8BfwMCAQAFAwEAAgcRAgZtZW1vcnkCAARtaW5lAAAMAQEKjxABjBACA38ufgJAIABBAEwNAEGQCDEAAEGRCDEAAEIIhoRBkggxAABCEIaEQZMIMQAAQhiGhCEtQYgIMQAAQYkIMQAAQgiGhEGKCDEAAEIQhoRBiwgxAABCGIaEQYwIMQAAQiCGhEGNCDEAAEIohoRBjggxAABCMIaEQY8IMQAAQjiGhCEuQYAIMQAAQYEIMQAAQgiGhEGCCDEAAEIQhoRBgwgxAABCGIaEQYQIMQAAQiCGhEGFCDEAAEIohoRBhggxAABCMIaEQYcIMQAAQjiGhCEvA0BBsAg1AgBCgICAgBCEIQ9BlAg1AgBCIIYgLYQhB0GoCCkDACEQQaAIKQMAIRFBmAgpAwAhCkKAgICAgICAgIB/IRJCACETQcB+IQEgLiELQgAhFEIAIRVCACEWQgAhF0IAIRhCACEZQgAhGkIAIRtCACEcIC8hCUIAIR1CACEeQgAhDEIAIR9CACENQgAhIEIAIQ4DQCAJIBCFIB2FIB6FIAyFIgQgByAZhSAahSAbhSAchSIIQgGJhSIGIA+FIAogH4UgDYUgIIUgDoUiBSAEQgGJhSIEIBiFITEgBiAVhUICiSIjIAcgBUIBiSALIA+FIBSFIBKFIBWFIgWFIgeFQj6JIiFCf4UgCCARIBaFIBeFIBOFIBiFIg9CAYmFIgggH4VCN4kiIoOFIRggDyAFQgGJhSIFIB6FQimJIiUgBCAXhUIniSIkQn+FgyAihSEVIAYgFIVCCokiJyAIIA6FQjiJIg4gByAbhUIPiSImQn+Fg4UhGyAEIBGFQhuJIikgJyAFIBCFQiSJIihCf4WDhSEeIAUgDIVCEokiLCAHIBmFQgaJIisgBiALhUIBiSIqQn+Fg4UhFyAIIA2FQhmJIgxCf4UgBCAThUIIiSINgyArhSEUIAggCoVCHIkiC0J/hSAEIBaFQhSJIgqDIAcgHIVCPYkiBIUhFiAGIBKFQi2JIgYgCyAEQn+Fg4UhHyAEIAZCf4WDIAUgHYVCA4kiBIUhGSAKIAYgBEJ/hYOFIQ8gBCAKQn+FgyALhSEQIAUgCYUiBCAxQg6JIgZCf4WDIAggIIVCFYkiCYUhCiAHIBqFQiuJIgggBiAJQn+Fg4UhB0IsiSIFIAkgCEJ/hYOFIQsgAUHAgQRqKQMAIAggBUJ/hYOFIASFIQkgJiAnQn+FgyAohSESIAYgBSAEQn+Fg4UhESAoIClCf4WDIA6FIRMgLCANQn+FgyAMhSEaICQgIyAlQn+Fg4UhHCAMICtCf4WDICqFIR0gJCAiQn+FgyAhhSEMIA0gKiAsQn+Fg4UhDSApIA5Cf4WDICaFISAgISAjQn+FgyAlhSEOIAFBCGoiAQ0ACwJAAkACQCAJpwRAQbMILQAAIgFB/wFHBEBBswghAgwCC0GzCEEAOgAAQbIILQAAIgFB/wFHBEBBsgghAgwCC0GyCEEAOgAAQbEILQAAIgFB/wFHBEBBsQghAgwCC0GxCEEAOgAAQbAILQAAIgFB/wFHBEBBsAghAgwCC0GwCEEAOgAAQa8ILQAAIgFB/wFHBEBBrwghAgwCC0GvCEEAOgAAQa4ILQAAIgFB/wFHBEBBrgghAgwCC0GuCEEAOgAAQa0ILQAAIgFB/wFHBEBBrQghAgwCC0GtCEEAOgAAQawILQAAIgFB/wFHBEBBrAghAgwCC0GsCEEAOgAAQasILQAAIgFB/wFHBEBBqwghAgwCC0GrCEEAOgAAQaoILQAAIgFB/wFHBEBBqgghAgwCC0GqCEEAOgAAQakILQAAIgFB/wFHBEBBqQghAgwCC0GpCEEAOgAAQagILQAAIgFB/wFHBEBBqAghAgwCC0GoCEEAOgAAQacILQAAIgFB/wFHBEBBpwghAgwCC0GnCEEAOgAAQaYILQAAIgFB/wFHBEBBpgghAgwCC0GmCEEAOgAAQaUILQAAIgFB/wFHBEBBpQghAgwCC0GlCEEAOgAAQaQILQAAIgFB/wFHBEBBpAghAgwCC0GkCEEAOgAAQaMILQAAIgFB/wFHBEBBowghAgwCC0GjCEEAOgAAQaIILQAAIgFB/wFHBEBBogghAgwCC0GiCEEAOgAAQaEILQAAIgFB/wFHBEBBoQghAgwCC0GhCEEAOgAAQaAILQAAIgFB/wFHBEBBoAghAgwCC0GgCEEAOgAAQZ8ILQAAIgFB/wFHBEBBnwghAgwCC0GfCEEAOgAAQZ4ILQAAIgFB/wFHBEBBngghAgwCC0GeCEEAOgAAQZ0ILQAAIgFB/wFHBEBBnQghAgwCC0GdCEEAOgAAQZwILQAAIgFB/wFHBEBBnAghAgwCC0GcCEEAOgAAQZsILQAAIgFB/wFHBEBBmwghAgwCC0GbCEEAOgAAQZoILQAAIgFB/wFHBEBBmgghAgwCC0GaCEEAOgAAQZkILQAAIgFB/wFHBEBBmQghAgwCC0GZCEEAOgAAQZgILQAAIgFB/wFHBEBBmAghAgwCC0GYCEEAOgAAQZcILQAAIgFB/wFHBEBBlwghAgwCC0GXCEEAOgAAQZYILQAAIgFB/wFHBEBBlgghAgwCC0GWCEEAOgAAQZUILQAAIgFB/wFHBEBBlQghAgwCC0GVCEEAOgAAQZQILQAAIgFB/wFGDQJBlAghAgwBC0G0CCAJNwIAQbwIIAs3AgBBxAggBzcCAEHMCCAKNwIAQQEhAQwECyACIAFBAWo6AAAMAQtBlAhBADoAAAsgA0EBaiIDIABHDQALQQAPCyABCwvJAQEAQYCABAvAAQEAAAAAAAAAgoAAAAAAAACKgAAAAAAAgACAAIAAAACAi4AAAAAAAAABAACAAAAAAIGAAIAAAACACYAAAAAAAICKAAAAAAAAAIgAAAAAAAAACYAAgAAAAAAKAACAAAAAAIuAAIAAAAAAiwAAAAAAAICJgAAAAAAAgAOAAAAAAACAAoAAAAAAAICAAAAAAAAAgAqAAAAAAAAACgAAgAAAAICBgACAAAAAgICAAAAAAACAAQAAgAAAAAAIgACAAAAAgACUAQ90YXJnZXRfZmVhdHVyZXMIKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVlKw9idWxrLW1lbW9yeS1vcHQrFmNhbGwtaW5kaXJlY3Qtb3Zlcmxvbmc=';
13
- /** Byte offset in WASM linear memory where mining I/O begins. */
14
- export const dataOffset = 1024;
6
+ // `pnpm wasm:check` rebuilds this file and fails if the bytes differ, so any
7
+ // change to the C or to `wasm/targets.ts` must be followed by `pnpm wasm:build`.
8
+ /** Base64-encoded WASM binary. */
9
+ export const wasmBase64 = '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';
15
10
  //# sourceMappingURL=mine.wasm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mine.wasm.js","sourceRoot":"","sources":["../../../src/tempo/internal/mine.wasm.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,gCAAgC;AAChC,8CAA8C;AAC9C,yEAAyE;AACzE,qDAAqD;AACrD,EAAE;AACF,oEAAoE;AACpE,EAAE;AACF,oDAAoD;AAEpD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,UAAU,GACrB,8tGAA8tG,CAAA;AAEhuG,iEAAiE;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"mine.wasm.js","sourceRoot":"","sources":["../../../src/tempo/internal/mine.wasm.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,kDAAkD;AAClD,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AAEjF,kCAAkC;AAClC,MAAM,CAAC,MAAM,UAAU,GACrB,85GAA85G,CAAA"}
@@ -146,7 +146,6 @@ main().catch(function(error) {
146
146
  */
147
147
  function getWorkerMineLoop() {
148
148
  return `
149
- var dataOffset = 1024
150
149
 
151
150
  function hexToBytes(hex) {
152
151
  var h = hex.startsWith('0x') ? hex.slice(2) : hex
@@ -179,6 +178,10 @@ function mineLoop(data, wasm, mem, postMessage) {
179
178
  var workerIndex = data.workerIndex
180
179
  var startBigInt = BigInt(data.start)
181
180
 
181
+ // Asked of the module rather than baked in: the buffer starts past the
182
+ // static data, wherever the linker put its end.
183
+ var dataOffset = wasm.heap_base()
184
+
182
185
  mem.set(addressBytes, dataOffset)
183
186
 
184
187
  for (
@@ -1 +1 @@
1
- {"version":3,"file":"virtualMasterPool.js","sourceRoot":"","sources":["../../../src/tempo/internal/virtualMasterPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virtualMasterPool.js","sourceRoot":"","sources":["../../../src/tempo/internal/virtualMasterPool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import * as CoreEngine from '../core/Engine.js';
2
+ import type * as Errors from '../core/Errors.js';
3
+ import * as Hash from './Hash.js';
4
+ import type * as internal from './internal/instantiate.js';
5
+ /**
6
+ * Compiles every implementation this entrypoint provides and installs it.
7
+ *
8
+ * WASM must be compiled asynchronously, so this is where the `await` lives.
9
+ * Everything afterwards, including the hashing itself, is synchronous.
10
+ *
11
+ * Call it once, during startup, before any crypto call. ox resolves the engine
12
+ * at call time, so values computed beforehand used whatever was installed then.
13
+ *
14
+ * @example
15
+ * ```ts twoslash
16
+ * // @noErrors
17
+ * import { Hash } from 'ox'
18
+ * import { Engine } from 'ox/wasm'
19
+ *
20
+ * await Engine.load()
21
+ *
22
+ * Hash.keccak256('0xdeadbeef')
23
+ * ```
24
+ *
25
+ * @returns The engine that was installed.
26
+ */
27
+ export declare function load(): Promise<load.ReturnType>;
28
+ export declare namespace load {
29
+ type ReturnType = create.ReturnType;
30
+ type ErrorType = create.ErrorType | CoreEngine.set.ErrorType | Errors.GlobalErrorType;
31
+ }
32
+ /**
33
+ * Compiles every implementation this entrypoint provides, without installing
34
+ * it.
35
+ *
36
+ * Reach for this where an engine has to exist as a value: measuring one
37
+ * implementation against another, or installing through
38
+ * [`Engine.with`](/api/Engine/with) for the duration of a call. Combining
39
+ * engines does not need it, because
40
+ * [`Engine.set`](/api/Engine/set) merges -- `await load()` followed by
41
+ * `Engine.set({ Secp256k1 })` leaves both in place.
42
+ *
43
+ * @example
44
+ * ```ts twoslash
45
+ * // @noErrors
46
+ * import { Engine, Hash } from 'ox'
47
+ * import { Engine as Wasm } from 'ox/wasm'
48
+ *
49
+ * const wasm = await Wasm.create()
50
+ *
51
+ * Engine.with(wasm, () => Hash.keccak256('0xdeadbeef'))
52
+ * ```
53
+ *
54
+ * @returns An engine, ready to install.
55
+ */
56
+ export declare function create(): Promise<create.ReturnType>;
57
+ export declare namespace create {
58
+ /** Every slot this entrypoint supplies, each with its primitives present. */
59
+ type ReturnType = Hash.create.ReturnType;
60
+ type ErrorType = internal.MemoryError | Errors.GlobalErrorType;
61
+ }
62
+ //# sourceMappingURL=Engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/wasm/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAIrD;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IAEnC,KAAK,SAAS,GACV,MAAM,CAAC,SAAS,GAChB,UAAU,CAAC,GAAG,CAAC,SAAS,GACxB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAEzD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,KAAK,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA;IAExC,KAAK,SAAS,GAAG,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAA;CAC/D"}
@@ -0,0 +1,57 @@
1
+ import * as CoreEngine from '../core/Engine.js';
2
+ import * as Hash from './Hash.js';
3
+ /**
4
+ * Compiles every implementation this entrypoint provides and installs it.
5
+ *
6
+ * WASM must be compiled asynchronously, so this is where the `await` lives.
7
+ * Everything afterwards, including the hashing itself, is synchronous.
8
+ *
9
+ * Call it once, during startup, before any crypto call. ox resolves the engine
10
+ * at call time, so values computed beforehand used whatever was installed then.
11
+ *
12
+ * @example
13
+ * ```ts twoslash
14
+ * // @noErrors
15
+ * import { Hash } from 'ox'
16
+ * import { Engine } from 'ox/wasm'
17
+ *
18
+ * await Engine.load()
19
+ *
20
+ * Hash.keccak256('0xdeadbeef')
21
+ * ```
22
+ *
23
+ * @returns The engine that was installed.
24
+ */
25
+ export async function load() {
26
+ const engine = await create();
27
+ CoreEngine.set(engine);
28
+ return engine;
29
+ }
30
+ /**
31
+ * Compiles every implementation this entrypoint provides, without installing
32
+ * it.
33
+ *
34
+ * Reach for this where an engine has to exist as a value: measuring one
35
+ * implementation against another, or installing through
36
+ * [`Engine.with`](/api/Engine/with) for the duration of a call. Combining
37
+ * engines does not need it, because
38
+ * [`Engine.set`](/api/Engine/set) merges -- `await load()` followed by
39
+ * `Engine.set({ Secp256k1 })` leaves both in place.
40
+ *
41
+ * @example
42
+ * ```ts twoslash
43
+ * // @noErrors
44
+ * import { Engine, Hash } from 'ox'
45
+ * import { Engine as Wasm } from 'ox/wasm'
46
+ *
47
+ * const wasm = await Wasm.create()
48
+ *
49
+ * Engine.with(wasm, () => Hash.keccak256('0xdeadbeef'))
50
+ * ```
51
+ *
52
+ * @returns An engine, ready to install.
53
+ */
54
+ export async function create() {
55
+ return { ...(await Hash.create()) };
56
+ }
57
+ //# sourceMappingURL=Engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/wasm/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAGjC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAA;IAC7B,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACtB,OAAO,MAAM,CAAA;AACf,CAAC;AAWD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;AACrC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type * as Engine from '../core/Engine.js';
2
+ import type * as Errors from '../core/Errors.js';
3
+ import * as internal from './internal/instantiate.js';
4
+ export { MemoryError } from './internal/instantiate.js';
5
+ /**
6
+ * Compiles the WASM implementation of the [`Hash`](/api/Hash) primitives, without
7
+ * installing it.
8
+ *
9
+ * Most callers want {@link ox#Engine.load} instead, which compiles every
10
+ * implementation this entrypoint provides and installs them in one call. Reach
11
+ * for this to take the `Hash` slot on its own, or to hold the implementation
12
+ * without touching the installed engine.
13
+ *
14
+ * :::note
15
+ * Performance varies by primitive, input size, runtime, and processor. Run
16
+ * `pnpm bench:engines` to compare Ox's default, Node, WASM, and Alloy
17
+ * implementations on your target machine.
18
+ * :::
19
+ *
20
+ * @example
21
+ * ```ts twoslash
22
+ * // @noErrors
23
+ * import { Engine, Hash } from 'ox'
24
+ * import * as WasmHash from 'ox/wasm/Hash'
25
+ *
26
+ * Engine.set(await WasmHash.create())
27
+ *
28
+ * Hash.keccak256('0xdeadbeef')
29
+ * ```
30
+ *
31
+ * @returns An engine supplying the `Hash` slot.
32
+ */
33
+ export declare function create(): Promise<create.ReturnType>;
34
+ export declare namespace create {
35
+ /**
36
+ * The `Hash` slot, carrying every primitive this module implements.
37
+ *
38
+ * {@link ox#Engine.Engine} is optional all the way down so that an engine can
39
+ * fill in as little as it likes. This one always fills the same four, and
40
+ * saying so is what spares callers a non-null assertion per primitive.
41
+ */
42
+ type ReturnType = {
43
+ Hash: {
44
+ [key in 'hmacSha256' | 'keccak256' | 'ripemd160' | 'sha256']-?: NonNullable<Engine.Hash[key]>;
45
+ };
46
+ };
47
+ type ErrorType = internal.MemoryError | Errors.GlobalErrorType;
48
+ }
49
+ //# sourceMappingURL=Hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../../src/wasm/Hash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAGhD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAwBvD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CA6BzD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,KAAK,UAAU,GAAG;QAChB,IAAI,EAAE;aACH,GAAG,IACA,YAAY,GACZ,WAAW,GACX,WAAW,GACX,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C,CAAA;KACF,CAAA;IAED,KAAK,SAAS,GAAG,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAA;CAC/D"}
@@ -0,0 +1,70 @@
1
+ import * as hash from './internal/hash.js';
2
+ import { wasmBase64 } from './internal/hashes.wasm.js';
3
+ import * as internal from './internal/instantiate.js';
4
+ export { MemoryError } from './internal/instantiate.js';
5
+ /** Digest sizes, in bytes. */
6
+ const digestSize = { keccak256: 32, ripemd160: 20, sha256: 32 };
7
+ /**
8
+ * Compilation is memoized; the engine object deliberately is not.
9
+ *
10
+ * Handing every caller the same object means one of them customising a slot
11
+ * for composition silently changes what a later `create` -- or `Engine.load`
12
+ * -- installs.
13
+ *
14
+ * @internal
15
+ */
16
+ const instantiate = /*#__PURE__*/ internal.memoize(() => internal.instantiate(wasmBase64));
17
+ /**
18
+ * Compiles the WASM implementation of the [`Hash`](/api/Hash) primitives, without
19
+ * installing it.
20
+ *
21
+ * Most callers want {@link ox#Engine.load} instead, which compiles every
22
+ * implementation this entrypoint provides and installs them in one call. Reach
23
+ * for this to take the `Hash` slot on its own, or to hold the implementation
24
+ * without touching the installed engine.
25
+ *
26
+ * :::note
27
+ * Performance varies by primitive, input size, runtime, and processor. Run
28
+ * `pnpm bench:engines` to compare Ox's default, Node, WASM, and Alloy
29
+ * implementations on your target machine.
30
+ * :::
31
+ *
32
+ * @example
33
+ * ```ts twoslash
34
+ * // @noErrors
35
+ * import { Engine, Hash } from 'ox'
36
+ * import * as WasmHash from 'ox/wasm/Hash'
37
+ *
38
+ * Engine.set(await WasmHash.create())
39
+ *
40
+ * Hash.keccak256('0xdeadbeef')
41
+ * ```
42
+ *
43
+ * @returns An engine supplying the `Hash` slot.
44
+ */
45
+ export async function create() {
46
+ {
47
+ const module = await instantiate();
48
+ // Copies `input` in, runs `hash`, and copies the digest back out.
49
+ function call(hash, input) {
50
+ const out = digestSize[hash];
51
+ module.reserve(input.length + out);
52
+ const inputPtr = module.heapBase;
53
+ const outPtr = inputPtr + input.length;
54
+ module.view().set(input, inputPtr);
55
+ module.exports[hash](inputPtr, input.length, outPtr);
56
+ // `slice`, not `subarray`: the result must not alias WASM memory, which the
57
+ // next call overwrites and a `grow` detaches entirely.
58
+ return module.view().slice(outPtr, outPtr + out);
59
+ }
60
+ return {
61
+ Hash: {
62
+ hmacSha256: (key, message) => hash.hmacSha256(module, key, message),
63
+ keccak256: (input) => call('keccak256', input),
64
+ ripemd160: (input) => call('ripemd160', input),
65
+ sha256: (input) => call('sha256', input),
66
+ },
67
+ };
68
+ }
69
+ }
70
+ //# sourceMappingURL=Hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../src/wasm/Hash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAQvD,8BAA8B;AAC9B,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AAE/D;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CACtD,QAAQ,CAAC,WAAW,CAAU,UAAU,CAAC,CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAA;QAElC,kEAAkE;QAClE,SAAS,IAAI,CACX,IAA0C,EAC1C,KAAiB;YAEjB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;YAChC,MAAM,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;YACtC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YAClC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACpD,4EAA4E;YAC5E,uDAAuD;YACvD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAA;QAClD,CAAC;QAED,OAAO;YACL,IAAI,EAAE;gBACJ,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;gBACnE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;gBAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;gBAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;aACzC;SACF,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,46 @@
1
+ /** @entrypointCategory WASM */
2
+ /**
3
+ * WASM implementations of ox's hash primitives, compiled from C.
4
+ *
5
+ * Load it and hand the result to {@link ox#Engine.set}. WASM must be compiled
6
+ * asynchronously, so the `await` lives here -- every call afterwards is
7
+ * synchronous.
8
+ *
9
+ * :::note
10
+ * Performance varies by primitive, input size, runtime, and processor. Run
11
+ * `pnpm bench:engines` to compare the available implementations on your target
12
+ * machine.
13
+ * :::
14
+ *
15
+ * @example
16
+ * ```ts twoslash
17
+ * // @noErrors
18
+ * import { Hash } from 'ox'
19
+ * import { Engine } from 'ox/wasm'
20
+ *
21
+ * await Engine.load()
22
+ *
23
+ * Hash.keccak256('0xdeadbeef')
24
+ * ```
25
+ *
26
+ * @category Crypto
27
+ */
28
+ export * as Engine from './Engine.js';
29
+ /**
30
+ * WASM implementations of Ox's supported hash primitives.
31
+ *
32
+ * @example
33
+ * ```ts twoslash
34
+ * // @noErrors
35
+ * import { Engine, Hash } from 'ox'
36
+ * import * as WasmHash from 'ox/wasm/Hash'
37
+ *
38
+ * Engine.set(await WasmHash.create())
39
+ *
40
+ * Hash.keccak256('0xdeadbeef')
41
+ * ```
42
+ *
43
+ * @category Crypto
44
+ */
45
+ export * as Hash from './Hash.js';
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA"}
@@ -0,0 +1,46 @@
1
+ /** @entrypointCategory WASM */
2
+ /**
3
+ * WASM implementations of ox's hash primitives, compiled from C.
4
+ *
5
+ * Load it and hand the result to {@link ox#Engine.set}. WASM must be compiled
6
+ * asynchronously, so the `await` lives here -- every call afterwards is
7
+ * synchronous.
8
+ *
9
+ * :::note
10
+ * Performance varies by primitive, input size, runtime, and processor. Run
11
+ * `pnpm bench:engines` to compare the available implementations on your target
12
+ * machine.
13
+ * :::
14
+ *
15
+ * @example
16
+ * ```ts twoslash
17
+ * // @noErrors
18
+ * import { Hash } from 'ox'
19
+ * import { Engine } from 'ox/wasm'
20
+ *
21
+ * await Engine.load()
22
+ *
23
+ * Hash.keccak256('0xdeadbeef')
24
+ * ```
25
+ *
26
+ * @category Crypto
27
+ */
28
+ export * as Engine from './Engine.js';
29
+ /**
30
+ * WASM implementations of Ox's supported hash primitives.
31
+ *
32
+ * @example
33
+ * ```ts twoslash
34
+ * // @noErrors
35
+ * import { Engine, Hash } from 'ox'
36
+ * import * as WasmHash from 'ox/wasm/Hash'
37
+ *
38
+ * Engine.set(await WasmHash.create())
39
+ *
40
+ * Hash.keccak256('0xdeadbeef')
41
+ * ```
42
+ *
43
+ * @category Crypto
44
+ */
45
+ export * as Hash from './Hash.js';
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { Module } from './instantiate.js';
2
+ /** WASM exports used by the HMAC-SHA256 loader. @internal */
3
+ export type Exports = {
4
+ hmac_sha256(key: number, keyLength: number, message: number, messageLength: number, out: number, scratch: number): void;
5
+ zero(ptr: number, length: number): void;
6
+ };
7
+ /** Calls HMAC-SHA256 and clears its complete linear-memory region. @internal */
8
+ export declare function hmacSha256(module: Module<Exports>, key: Uint8Array, message: Uint8Array): Uint8Array;
9
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,6DAA6D;AAC7D,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,CACT,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,IAAI,CAAA;IACP,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EACvB,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,UAAU,GAClB,UAAU,CA4BZ"}
@@ -0,0 +1,26 @@
1
+ import { hmacSha256ScratchSize } from './hashes.wasm.js';
2
+ /** Calls HMAC-SHA256 and clears its complete linear-memory region. @internal */
3
+ export function hmacSha256(module, key, message) {
4
+ const keyLength = key.length;
5
+ const messageLength = message.length;
6
+ const out = 32;
7
+ const messagePtr = module.heapBase;
8
+ const keyPtr = messagePtr + messageLength;
9
+ const outPtr = keyPtr + keyLength;
10
+ const scratchPtr = Math.ceil((outPtr + out) / 4) * 4;
11
+ const end = scratchPtr + hmacSha256ScratchSize;
12
+ module.reserve(end - messagePtr);
13
+ const view = module.view();
14
+ try {
15
+ view.set(message, messagePtr);
16
+ view.set(key, keyPtr);
17
+ module.exports.hmac_sha256(keyPtr, keyLength, messagePtr, messageLength, outPtr, scratchPtr);
18
+ return module.view().slice(outPtr, outPtr + out);
19
+ }
20
+ finally {
21
+ // Clear every byte this call owns, including HMAC working state when
22
+ // copying, hashing, or copying the digest back out throws.
23
+ module.exports.zero(messagePtr, end - messagePtr);
24
+ }
25
+ }
26
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/wasm/internal/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAgBxD,gFAAgF;AAChF,MAAM,UAAU,UAAU,CACxB,MAAuB,EACvB,GAAe,EACf,OAAmB;IAEnB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAA;IAC5B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAA;IACpC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAA;IAClC,MAAM,MAAM,GAAG,UAAU,GAAG,aAAa,CAAA;IACzC,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,GAAG,GAAG,UAAU,GAAG,qBAAqB,CAAA;IAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACrB,MAAM,CAAC,OAAO,CAAC,WAAW,CACxB,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,MAAM,EACN,UAAU,CACX,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAA;IAClD,CAAC;YAAS,CAAC;QACT,qEAAqE;QACrE,2DAA2D;QAC3D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAAC,CAAA;IACnD,CAAC;AACH,CAAC"}