ox 0.14.18 → 0.14.19

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 (41) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/_cjs/tempo/TxEnvelopeTempo.js.map +1 -1
  3. package/_cjs/tempo/VirtualMaster.js +192 -13
  4. package/_cjs/tempo/VirtualMaster.js.map +1 -1
  5. package/_cjs/tempo/index.js.map +1 -1
  6. package/_cjs/tempo/internal/mine.wasm.js +6 -0
  7. package/_cjs/tempo/internal/mine.wasm.js.map +1 -0
  8. package/_cjs/tempo/internal/virtualMasterPool.js +186 -0
  9. package/_cjs/tempo/internal/virtualMasterPool.js.map +1 -0
  10. package/_cjs/version.js +1 -1
  11. package/_esm/tempo/TxEnvelopeTempo.js +6 -3
  12. package/_esm/tempo/TxEnvelopeTempo.js.map +1 -1
  13. package/_esm/tempo/VirtualMaster.js +305 -22
  14. package/_esm/tempo/VirtualMaster.js.map +1 -1
  15. package/_esm/tempo/index.js +4 -2
  16. package/_esm/tempo/index.js.map +1 -1
  17. package/_esm/tempo/internal/mine.wasm.js +15 -0
  18. package/_esm/tempo/internal/mine.wasm.js.map +1 -0
  19. package/_esm/tempo/internal/virtualMasterPool.js +216 -0
  20. package/_esm/tempo/internal/virtualMasterPool.js.map +1 -0
  21. package/_esm/version.js +1 -1
  22. package/_types/tempo/TxEnvelopeTempo.d.ts +6 -3
  23. package/_types/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  24. package/_types/tempo/VirtualMaster.d.ts +92 -10
  25. package/_types/tempo/VirtualMaster.d.ts.map +1 -1
  26. package/_types/tempo/index.d.ts +4 -2
  27. package/_types/tempo/index.d.ts.map +1 -1
  28. package/_types/tempo/internal/mine.wasm.d.ts +5 -0
  29. package/_types/tempo/internal/mine.wasm.d.ts.map +1 -0
  30. package/_types/tempo/internal/virtualMasterPool.d.ts +46 -0
  31. package/_types/tempo/internal/virtualMasterPool.d.ts.map +1 -0
  32. package/_types/version.d.ts +1 -1
  33. package/package.json +1 -1
  34. package/tempo/TxEnvelopeTempo.ts +6 -3
  35. package/tempo/VirtualMaster.test.ts +77 -0
  36. package/tempo/VirtualMaster.ts +431 -23
  37. package/tempo/index.ts +5 -2
  38. package/tempo/internal/mine.c +182 -0
  39. package/tempo/internal/mine.wasm.ts +17 -0
  40. package/tempo/internal/virtualMasterPool.ts +254 -0
  41. package/version.ts +1 -1
@@ -0,0 +1,216 @@
1
+ import * as Errors from '../../core/Errors.js';
2
+ let cachedPool;
3
+ /**
4
+ * Whether the current runtime is Node.js.
5
+ *
6
+ * @internal
7
+ */
8
+ const isNode = typeof globalThis.process !== 'undefined' &&
9
+ typeof globalThis.process.versions?.node === 'string';
10
+ /**
11
+ * Resolves the best available worker pool for the current runtime.
12
+ *
13
+ * @internal
14
+ */
15
+ export async function resolve() {
16
+ if (cachedPool)
17
+ return cachedPool;
18
+ cachedPool = isNode ? await resolveNode() : await resolveBrowser();
19
+ return cachedPool;
20
+ }
21
+ /**
22
+ * Creates a worker pool backed by Node.js `worker_threads`.
23
+ *
24
+ * @internal
25
+ */
26
+ export async function resolveNode() {
27
+ const { Worker } = await import('node:worker_threads');
28
+ const { wasmBase64 } = await import('./mine.wasm.js');
29
+ const workerSource = getNodeWorkerSource();
30
+ return {
31
+ spawn(index, onMessage, onError) {
32
+ const worker = new Worker(workerSource, {
33
+ eval: true,
34
+ workerData: {
35
+ wasmBase64,
36
+ workerIndex: index,
37
+ },
38
+ });
39
+ worker.on('message', (msg) => onMessage(msg));
40
+ worker.on('error', (err) => onError(err));
41
+ worker.on('exit', (code) => {
42
+ if (code !== 0)
43
+ onError(new Errors.BaseError(`A salt mining worker exited with code "${code}".`));
44
+ });
45
+ return {
46
+ postMessage(data) {
47
+ worker.postMessage(data);
48
+ },
49
+ terminate() {
50
+ void worker.terminate().catch(() => { });
51
+ },
52
+ };
53
+ },
54
+ };
55
+ }
56
+ /**
57
+ * Creates a worker pool backed by browser `Worker` with Blob URLs.
58
+ *
59
+ * @internal
60
+ */
61
+ export async function resolveBrowser() {
62
+ if (typeof globalThis.Worker === 'undefined')
63
+ return undefined;
64
+ if (typeof globalThis.Blob === 'undefined')
65
+ return undefined;
66
+ const { wasmBase64 } = await import('./mine.wasm.js');
67
+ const source = getBrowserWorkerSource(wasmBase64);
68
+ const blob = new Blob([source], { type: 'application/javascript' });
69
+ const url = URL.createObjectURL(blob);
70
+ return {
71
+ spawn(_index, onMessage, onError) {
72
+ const worker = new globalThis.Worker(url);
73
+ worker.onmessage = (e) => onMessage(e.data);
74
+ worker.onerror = (e) => onError(e.error);
75
+ return {
76
+ postMessage(data) {
77
+ worker.postMessage(data);
78
+ },
79
+ terminate() {
80
+ worker.terminate();
81
+ },
82
+ };
83
+ },
84
+ };
85
+ }
86
+ /**
87
+ * Returns the inline JavaScript source for a browser Web Worker.
88
+ *
89
+ * @internal
90
+ */
91
+ function getBrowserWorkerSource(wasmBase64) {
92
+ return `
93
+ 'use strict'
94
+
95
+ ${getWorkerMineLoop()}
96
+
97
+ var binary = Uint8Array.from(atob(${JSON.stringify(wasmBase64)}), function(c) { return c.charCodeAt(0) })
98
+
99
+ WebAssembly.instantiate(binary).then(function(result) {
100
+ var wasm = result.instance.exports
101
+ var mem = new Uint8Array(wasm.memory.buffer)
102
+
103
+ self.onmessage = function(e) {
104
+ if (e.data.type !== 'start') return
105
+ mineLoop(e.data, wasm, mem, function(msg) { self.postMessage(msg) })
106
+ }
107
+ }).catch(function(error) {
108
+ self.postMessage({ type: 'error', message: error && error.message || String(error) })
109
+ })
110
+ `;
111
+ }
112
+ /**
113
+ * Returns the eval'd JavaScript source for a Node.js `worker_threads` worker.
114
+ *
115
+ * @internal
116
+ */
117
+ function getNodeWorkerSource() {
118
+ return `
119
+ 'use strict'
120
+ var { parentPort, workerData } = require('node:worker_threads')
121
+
122
+ ${getWorkerMineLoop()}
123
+
124
+ async function main() {
125
+ var binary = Buffer.from(workerData.wasmBase64, 'base64')
126
+ var { instance } = await WebAssembly.instantiate(binary)
127
+ var wasm = instance.exports
128
+ var mem = new Uint8Array(wasm.memory.buffer)
129
+
130
+ parentPort.on('message', function(data) {
131
+ if (data.type !== 'start') return
132
+ mineLoop(data, wasm, mem, function(msg) { parentPort.postMessage(msg) })
133
+ })
134
+ }
135
+
136
+ main().catch(function(error) {
137
+ parentPort.postMessage({ type: 'error', message: error && error.message || String(error) })
138
+ })
139
+ `;
140
+ }
141
+ /**
142
+ * Returns the shared WASM mining loop source used by both Node and browser workers.
143
+ *
144
+ * @internal
145
+ */
146
+ function getWorkerMineLoop() {
147
+ return `
148
+ var dataOffset = 1024
149
+
150
+ function hexToBytes(hex) {
151
+ var h = hex.startsWith('0x') ? hex.slice(2) : hex
152
+ var bytes = new Uint8Array(h.length / 2)
153
+ for (var i = 0; i < bytes.length; i++)
154
+ bytes[i] = parseInt(h.slice(i * 2, i * 2 + 2), 16)
155
+ return bytes
156
+ }
157
+
158
+ function bytesToHex(bytes) {
159
+ var hex = '0x'
160
+ for (var i = 0; i < bytes.length; i++)
161
+ hex += bytes[i].toString(16).padStart(2, '0')
162
+ return hex
163
+ }
164
+
165
+ function bigIntToBytes32(value, out, offset) {
166
+ var v = value
167
+ for (var i = 31; i >= 0; i--) {
168
+ out[offset + i] = Number(v & 0xFFn)
169
+ v >>= 8n
170
+ }
171
+ }
172
+
173
+ function mineLoop(data, wasm, mem, postMessage) {
174
+ var addressBytes = hexToBytes(data.address)
175
+ var chunkSize = data.chunkSize
176
+ var count = data.count
177
+ var workerCount = data.workerCount
178
+ var workerIndex = data.workerIndex
179
+ var startBigInt = BigInt(data.start)
180
+
181
+ mem.set(addressBytes, dataOffset)
182
+
183
+ for (
184
+ var chunkIdx = workerIndex;
185
+ chunkIdx * chunkSize < count;
186
+ chunkIdx += workerCount
187
+ ) {
188
+ var chunkStart = chunkIdx * chunkSize
189
+ var limit = Math.min(chunkSize, count - chunkStart)
190
+
191
+ bigIntToBytes32(startBigInt + BigInt(chunkStart), mem, dataOffset + 20)
192
+
193
+ var found = wasm.mine(limit)
194
+
195
+ if (found) {
196
+ var hashOut = mem.slice(dataOffset + 52, dataOffset + 84)
197
+ var salt = mem.slice(dataOffset + 20, dataOffset + 52)
198
+ postMessage({
199
+ type: 'found',
200
+ result: {
201
+ masterId: bytesToHex(hashOut.subarray(4, 8)),
202
+ registrationHash: bytesToHex(hashOut),
203
+ salt: bytesToHex(salt),
204
+ },
205
+ })
206
+ return
207
+ }
208
+
209
+ postMessage({ type: 'progress', attempts: limit })
210
+ }
211
+
212
+ postMessage({ type: 'done' })
213
+ }
214
+ `;
215
+ }
216
+ //# sourceMappingURL=virtualMasterPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualMasterPool.js","sourceRoot":"","sources":["../../../tempo/internal/virtualMasterPool.ts"],"names":[],"mappings":"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"}
package/_esm/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export const version = '0.14.18';
2
+ export const version = '0.14.19';
3
3
  //# sourceMappingURL=version.js.map
@@ -114,10 +114,11 @@ export type Type = typeof type;
114
114
  *
115
115
  * @example
116
116
  * ```ts twoslash
117
+ * import { Address } from 'ox'
117
118
  * import { TxEnvelopeTempo } from 'ox/tempo'
118
119
  *
119
120
  * TxEnvelopeTempo.assert({
120
- * calls: [{ to: 'tempox0x0000000000000000000000000000000000000000', value: 0n }],
121
+ * calls: [{ to: Address.from('0x0000000000000000000000000000000000000000'), value: 0n }],
121
122
  * chainId: 1,
122
123
  * maxFeePerGas: 1000000000n,
123
124
  * })
@@ -540,12 +541,13 @@ export declare namespace getFeePayerSignPayload {
540
541
  *
541
542
  * @example
542
543
  * ```ts twoslash
544
+ * import { Address } from 'ox'
543
545
  * import { TxEnvelopeTempo } from 'ox/tempo'
544
546
  *
545
547
  * const valid = TxEnvelopeTempo.validate({
546
548
  * calls: [{
547
549
  * data: '0xdeadbeef',
548
- * to: 'tempox0x0000000000000000000000000000000000000000',
550
+ * to: Address.from('0x0000000000000000000000000000000000000000'),
549
551
  * }],
550
552
  * chainId: 1,
551
553
  * maxFeePerGas: 1000000000n,
@@ -582,10 +584,11 @@ export declare class CallsEmptyError extends Errors.BaseError {
582
584
  *
583
585
  * @example
584
586
  * ```ts twoslash
587
+ * import { Address } from 'ox'
585
588
  * import { TxEnvelopeTempo } from 'ox/tempo'
586
589
  *
587
590
  * TxEnvelopeTempo.assert({
588
- * calls: [{ to: 'tempox0x0000000000000000000000000000000000000000' }],
591
+ * calls: [{ to: Address.from('0x0000000000000000000000000000000000000000') }],
589
592
  * chainId: 1,
590
593
  * validBefore: 100,
591
594
  * validAfter: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"TxEnvelopeTempo.d.ts","sourceRoot":"","sources":["../../tempo/TxEnvelopeTempo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TxEnvelopeTempo.d.ts","sourceRoot":"","sources":["../../tempo/TxEnvelopeTempo.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,12 @@ export type Salt = Hex.Hex | Bytes.Bytes | number | bigint;
19
19
  *
20
20
  * @example
21
21
  * ```ts twoslash
22
+ * import { Address, Hex } from 'ox'
22
23
  * import { VirtualMaster } from 'ox/tempo'
23
24
  *
24
25
  * const hash = VirtualMaster.getRegistrationHash({
25
- * address: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
26
- * salt: '0x00000000000000000000000000000000000000000000000000000000abf52baf',
26
+ * address: Address.from('0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'),
27
+ * salt: Hex.from('0x00000000000000000000000000000000000000000000000000000000abf52baf'),
27
28
  * })
28
29
  *
29
30
  * hash
@@ -56,11 +57,12 @@ export declare namespace getRegistrationHash {
56
57
  *
57
58
  * @example
58
59
  * ```ts twoslash
60
+ * import { Address, Hex } from 'ox'
59
61
  * import { VirtualMaster } from 'ox/tempo'
60
62
  *
61
63
  * const masterId = VirtualMaster.getMasterId({
62
- * address: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
63
- * salt: '0x00000000000000000000000000000000000000000000000000000000abf52baf',
64
+ * address: Address.from('0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'),
65
+ * salt: Hex.from('0x00000000000000000000000000000000000000000000000000000000abf52baf'),
64
66
  * })
65
67
  *
66
68
  * masterId
@@ -85,11 +87,12 @@ export declare namespace getMasterId {
85
87
  *
86
88
  * @example
87
89
  * ```ts twoslash
90
+ * import { Address, Hex } from 'ox'
88
91
  * import { VirtualMaster } from 'ox/tempo'
89
92
  *
90
93
  * const valid = VirtualMaster.validateSalt({
91
- * address: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
92
- * salt: '0x00000000000000000000000000000000000000000000000000000000abf52baf',
94
+ * address: Address.from('0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'),
95
+ * salt: Hex.from('0x00000000000000000000000000000000000000000000000000000000abf52baf'),
93
96
  * })
94
97
  *
95
98
  * valid
@@ -106,7 +109,7 @@ export declare namespace validateSalt {
106
109
  /**
107
110
  * Searches a bounded range of salts for the first value that satisfies TIP-1022 PoW.
108
111
  *
109
- * [TIP-1022](https://docs.tempo.xyz/protocol/tips/tip-1022)
112
+ * [TIP-1022](https://tips.sh/1022)
110
113
  *
111
114
  * This is intentionally a small, deterministic primitive. It does not coordinate
112
115
  * workers or async execution. Callers that need large searches can shard ranges
@@ -115,14 +118,21 @@ export declare namespace validateSalt {
115
118
  * Master addresses must satisfy TIP-1022 registration constraints: they cannot
116
119
  * be the zero address, another virtual address, or a TIP-20 token address.
117
120
  *
121
+ * :::warning
122
+ *
123
+ * It is strongly recommended to use {@link ox#VirtualMaster.(mineSaltAsync:function)} instead of this
124
+ * function. `mineSaltAsync` uses WASM-accelerated keccak256 with parallel
125
+ * workers and is a lot faster than the pure JS implementation used here.
126
+ *
127
+ * :::
128
+ *
118
129
  * @example
119
130
  * ```ts twoslash
131
+ * import { Address } from 'ox'
120
132
  * import { VirtualMaster } from 'ox/tempo'
121
133
  *
122
134
  * const result = VirtualMaster.mineSalt({
123
135
  * address: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
124
- * start: 0xabf52ba0n,
125
- * count: 16,
126
136
  * })
127
137
  *
128
138
  * result?.salt
@@ -138,7 +148,7 @@ export declare namespace mineSalt {
138
148
  /** Master address. Accepts both hex and Tempo addresses. */
139
149
  address: TempoAddress.Address;
140
150
  /** Number of consecutive salts to try. */
141
- count: number;
151
+ count?: number | undefined;
142
152
  /** Starting salt value. @default 0n */
143
153
  start?: Salt | undefined;
144
154
  };
@@ -152,4 +162,76 @@ export declare namespace mineSalt {
152
162
  };
153
163
  type ErrorType = Address.assert.ErrorType | Bytes.fromHex.ErrorType | Bytes.padLeft.ErrorType | Errors.BaseError | Hash.keccak256.ErrorType | Hex.assert.ErrorType | Hex.fromBytes.ErrorType | Hex.fromNumber.ErrorType | Hex.padLeft.ErrorType | TempoAddress.parse.ErrorType | Errors.GlobalErrorType;
154
164
  }
165
+ /**
166
+ * Searches for a salt that satisfies TIP-1022 PoW using parallel workers and
167
+ * WASM-accelerated keccak256.
168
+ *
169
+ * [TIP-1022](https://tips.sh/1022)
170
+ *
171
+ * Uses WASM-accelerated keccak256 with parallel
172
+ * workers when available. Falls back to chunked single-threaded mining in
173
+ * environments without worker support.
174
+ *
175
+ * - **Node.js / Bun / Deno**: Spawns `worker_threads` with inline WASM keccak256.
176
+ * - **Browsers**: Spawns Web Workers via Blob URLs with inline WASM keccak256.
177
+ *
178
+ * @example
179
+ * ```ts twoslash
180
+ * import { Address } from 'ox'
181
+ * import { VirtualMaster } from 'ox/tempo'
182
+ *
183
+ * const result = await VirtualMaster.mineSaltAsync({
184
+ * address: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
185
+ * })
186
+ * ```
187
+ *
188
+ * @param parameters - Search parameters.
189
+ * @returns The first matching salt, if any.
190
+ */
191
+ export declare function mineSaltAsync(parameters: mineSaltAsync.Parameters): Promise<mineSalt.ReturnType | undefined>;
192
+ export declare namespace mineSaltAsync {
193
+ type Parameters = {
194
+ /** Master address. Accepts both hex and Tempo addresses. */
195
+ address: TempoAddress.Address;
196
+ /**
197
+ * Number of salts each worker processes before sending a progress update.
198
+ *
199
+ * @default 100_000
200
+ */
201
+ chunkSize?: number | undefined;
202
+ /** Number of consecutive salts to try. @default 2 ** 32 */
203
+ count?: number | undefined;
204
+ /** Progress callback invoked after each completed chunk. */
205
+ onProgress?: ((progress: Progress) => void) | undefined;
206
+ /** AbortSignal for cancellation. */
207
+ signal?: AbortSignal | undefined;
208
+ /** Starting salt value. @default 0n */
209
+ start?: Salt | undefined;
210
+ /**
211
+ * Number of workers to use.
212
+ *
213
+ * Set to `0` or `1` to disable worker parallelism.
214
+ *
215
+ * @default os.availableParallelism() - 1
216
+ */
217
+ workers?: number | undefined;
218
+ };
219
+ type Progress = {
220
+ /** Total attempts so far. */
221
+ attempts: number;
222
+ /** Configured chunk size. */
223
+ chunkSize: number;
224
+ /** Total count requested. */
225
+ count: number;
226
+ /** Elapsed time in milliseconds. */
227
+ elapsed: number;
228
+ /** Fraction complete (0–1). */
229
+ progress: number;
230
+ /** Hashes per second. */
231
+ rate: number;
232
+ /** Number of workers in use. */
233
+ workers: number;
234
+ };
235
+ type ErrorType = mineSalt.ErrorType | Errors.BaseError | Errors.GlobalErrorType;
236
+ }
155
237
  //# sourceMappingURL=VirtualMaster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualMaster.d.ts","sourceRoot":"","sources":["../../tempo/VirtualMaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAMjD,2DAA2D;AAC3D,MAAM,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAI7E;AAED,MAAM,CAAC,OAAO,WAAW,mBAAmB,CAAC;IAC3C,KAAK,KAAK,GAAG;QACX,4DAA4D;QAC5D,OAAO,EAAE,YAAY,CAAC,OAAO,CAAA;QAC7B,0CAA0C;QAC1C,IAAI,EAAE,IAAI,CAAA;KACX,CAAA;IAED,KAAK,SAAS,GACV,OAAO,CAAC,MAAM,CAAC,SAAS,GACxB,KAAK,CAAC,OAAO,CAAC,SAAS,GACvB,MAAM,CAAC,SAAS,GAChB,IAAI,CAAC,SAAS,CAAC,SAAS,GACxB,GAAG,CAAC,MAAM,CAAC,SAAS,GACpB,GAAG,CAAC,SAAS,CAAC,SAAS,GACvB,GAAG,CAAC,UAAU,CAAC,SAAS,GACxB,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,YAAY,CAAC,KAAK,CAAC,SAAS,GAC5B,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAE7D;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,KAAK,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;IACtC,KAAK,SAAS,GAAG,mBAAmB,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,GAAG,OAAO,CAW/D;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,KAAK,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,QAAQ,CAAC,KAAK,GACpB,QAAQ,CAAC,UAAU,GAAG,SAAS,CA0BjC;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,KAAK,GAAG;QACX,4DAA4D;QAC5D,OAAO,EAAE,YAAY,CAAC,OAAO,CAAA;QAC7B,0CAA0C;QAC1C,KAAK,EAAE,MAAM,CAAA;QACb,uCAAuC;QACvC,KAAK,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;KACzB,CAAA;IAED,KAAK,UAAU,GAAG;QAChB,mEAAmE;QACnE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAA;QACjB,sCAAsC;QACtC,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAA;QACzB,mCAAmC;QACnC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAA;KACd,CAAA;IAED,KAAK,SAAS,GACV,OAAO,CAAC,MAAM,CAAC,SAAS,GACxB,KAAK,CAAC,OAAO,CAAC,SAAS,GACvB,KAAK,CAAC,OAAO,CAAC,SAAS,GACvB,MAAM,CAAC,SAAS,GAChB,IAAI,CAAC,SAAS,CAAC,SAAS,GACxB,GAAG,CAAC,MAAM,CAAC,SAAS,GACpB,GAAG,CAAC,SAAS,CAAC,SAAS,GACvB,GAAG,CAAC,UAAU,CAAC,SAAS,GACxB,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,YAAY,CAAC,KAAK,CAAC,SAAS,GAC5B,MAAM,CAAC,eAAe,CAAA;CAC3B"}
1
+ {"version":3,"file":"VirtualMaster.d.ts","sourceRoot":"","sources":["../../tempo/VirtualMaster.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,7 @@ export * as PoolId from './PoolId.js';
128
128
  *
129
129
  * @example
130
130
  * ```ts twoslash
131
+ * import 'ox/window'
131
132
  * import { Provider, RpcSchema } from 'ox'
132
133
  * import { RpcSchemaTempo } from 'ox/tempo'
133
134
  *
@@ -403,11 +404,12 @@ export * as VirtualAddress from './VirtualAddress.js';
403
404
  *
404
405
  * @example
405
406
  * ```ts twoslash
407
+ * import { Address, Hex } from 'ox'
406
408
  * import { VirtualMaster } from 'ox/tempo'
407
409
  *
408
410
  * const registration = {
409
- * address: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
410
- * salt: '0x00000000000000000000000000000000000000000000000000000000abf52baf',
411
+ * address: Address.from('0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'),
412
+ * salt: Hex.from('0x00000000000000000000000000000000000000000000000000000000abf52baf'),
411
413
  * }
412
414
  *
413
415
  * const registrationHash = VirtualMaster.getRegistrationHash(registration) // keccak256(address || salt)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,YAAY,EAAE,CAAA;AAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,YAAY,EAAE,CAAA;AAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,5 @@
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;
5
+ //# sourceMappingURL=mine.wasm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mine.wasm.d.ts","sourceRoot":"","sources":["../../../tempo/internal/mine.wasm.ts"],"names":[],"mappings":"AAWA,8DAA8D;AAC9D,eAAO,MAAM,UAAU,iuGACysG,CAAA;AAEhuG,iEAAiE;AACjE,eAAO,MAAM,UAAU,OAAO,CAAA"}
@@ -0,0 +1,46 @@
1
+ /** Message sent from a mining worker to the main thread. */
2
+ export type Message = {
3
+ type: 'done';
4
+ } | {
5
+ type: 'error';
6
+ message: string;
7
+ } | {
8
+ type: 'found';
9
+ result: {
10
+ /** The 4-byte master identifier. */
11
+ masterId: string;
12
+ /** The full 32-byte registration hash. */
13
+ registrationHash: string;
14
+ /** The discovered 32-byte salt. */
15
+ salt: string;
16
+ };
17
+ } | {
18
+ type: 'progress';
19
+ attempts: number;
20
+ };
21
+ /** A platform-agnostic worker pool for parallel salt mining. */
22
+ export type Pool = {
23
+ spawn(index: number, onMessage: (msg: Message) => void, onError: (err: unknown) => void): {
24
+ postMessage(data: unknown): void;
25
+ terminate(): void;
26
+ };
27
+ };
28
+ /**
29
+ * Resolves the best available worker pool for the current runtime.
30
+ *
31
+ * @internal
32
+ */
33
+ export declare function resolve(): Promise<Pool | undefined>;
34
+ /**
35
+ * Creates a worker pool backed by Node.js `worker_threads`.
36
+ *
37
+ * @internal
38
+ */
39
+ export declare function resolveNode(): Promise<Pool | undefined>;
40
+ /**
41
+ * Creates a worker pool backed by browser `Worker` with Blob URLs.
42
+ *
43
+ * @internal
44
+ */
45
+ export declare function resolveBrowser(): Promise<Pool | undefined>;
46
+ //# sourceMappingURL=virtualMasterPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualMasterPool.d.ts","sourceRoot":"","sources":["../../../tempo/internal/virtualMasterPool.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IACE,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE;QACN,oCAAoC;QACpC,QAAQ,EAAE,MAAM,CAAA;QAChB,0CAA0C;QAC1C,gBAAgB,EAAE,MAAM,CAAA;QACxB,mCAAmC;QACnC,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF,GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1C,gEAAgE;AAChE,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,CACH,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,EACjC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAC9B;QAAE,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,SAAS,IAAI,IAAI,CAAA;KAAE,CAAA;CAC3D,CAAA;AAaD;;;;GAIG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAIzD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAkC7D;AAED;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAwBhE"}
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export declare const version = "0.14.18";
2
+ export declare const version = "0.14.19";
3
3
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ox",
3
3
  "description": "Ethereum Standard Library",
4
- "version": "0.14.18",
4
+ "version": "0.14.19",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
@@ -162,10 +162,11 @@ export type Type = typeof type
162
162
  *
163
163
  * @example
164
164
  * ```ts twoslash
165
+ * import { Address } from 'ox'
165
166
  * import { TxEnvelopeTempo } from 'ox/tempo'
166
167
  *
167
168
  * TxEnvelopeTempo.assert({
168
- * calls: [{ to: 'tempox0x0000000000000000000000000000000000000000', value: 0n }],
169
+ * calls: [{ to: Address.from('0x0000000000000000000000000000000000000000'), value: 0n }],
169
170
  * chainId: 1,
170
171
  * maxFeePerGas: 1000000000n,
171
172
  * })
@@ -1023,12 +1024,13 @@ export declare namespace getFeePayerSignPayload {
1023
1024
  *
1024
1025
  * @example
1025
1026
  * ```ts twoslash
1027
+ * import { Address } from 'ox'
1026
1028
  * import { TxEnvelopeTempo } from 'ox/tempo'
1027
1029
  *
1028
1030
  * const valid = TxEnvelopeTempo.validate({
1029
1031
  * calls: [{
1030
1032
  * data: '0xdeadbeef',
1031
- * to: 'tempox0x0000000000000000000000000000000000000000',
1033
+ * to: Address.from('0x0000000000000000000000000000000000000000'),
1032
1034
  * }],
1033
1035
  * chainId: 1,
1034
1036
  * maxFeePerGas: 1000000000n,
@@ -1077,10 +1079,11 @@ export class CallsEmptyError extends Errors.BaseError {
1077
1079
  *
1078
1080
  * @example
1079
1081
  * ```ts twoslash
1082
+ * import { Address } from 'ox'
1080
1083
  * import { TxEnvelopeTempo } from 'ox/tempo'
1081
1084
  *
1082
1085
  * TxEnvelopeTempo.assert({
1083
- * calls: [{ to: 'tempox0x0000000000000000000000000000000000000000' }],
1086
+ * calls: [{ to: Address.from('0x0000000000000000000000000000000000000000') }],
1084
1087
  * chainId: 1,
1085
1088
  * validBefore: 100,
1086
1089
  * validAfter: 200,