From 14c39b548f45333fdb33fe21e99224f664cc0384 Mon Sep 17 00:00:00 2001 From: Tiago <70700766+tiagorangel1@users.noreply.github.com> Date: Wed, 23 Apr 2025 12:55:02 +0100 Subject: [PATCH] fix wasm builder --- wasm/build.js | 8 + wasm/src/browser/cap_wasm.d.ts | 35 +++++ wasm/src/browser/cap_wasm.js | 197 +++++++++++++++++++++++++ wasm/src/browser/cap_wasm_bg.wasm | Bin 0 -> 28688 bytes wasm/src/browser/cap_wasm_bg.wasm.d.ts | 8 + wasm/src/browser/package.json | 15 ++ wasm/src/node/cap_wasm.d.ts | 3 + wasm/src/node/cap_wasm.js | 105 +++++++++++++ wasm/src/node/cap_wasm_bg.wasm | Bin 0 -> 28709 bytes wasm/src/node/cap_wasm_bg.wasm.d.ts | 8 + wasm/src/node/package.json | 11 ++ wasm/src/package.json | 9 +- widget/src/src/cap.js | 4 + 13 files changed, 396 insertions(+), 7 deletions(-) create mode 100644 wasm/src/browser/cap_wasm.d.ts create mode 100644 wasm/src/browser/cap_wasm.js create mode 100644 wasm/src/browser/cap_wasm_bg.wasm create mode 100644 wasm/src/browser/cap_wasm_bg.wasm.d.ts create mode 100644 wasm/src/browser/package.json create mode 100644 wasm/src/node/cap_wasm.d.ts create mode 100644 wasm/src/node/cap_wasm.js create mode 100644 wasm/src/node/cap_wasm_bg.wasm create mode 100644 wasm/src/node/cap_wasm_bg.wasm.d.ts create mode 100644 wasm/src/node/package.json diff --git a/wasm/build.js b/wasm/build.js index 4571409..cc529e2 100644 --- a/wasm/build.js +++ b/wasm/build.js @@ -27,4 +27,12 @@ execSync( { stdio: "inherit" } ); +console.log(`\n Removing .gitignore...`); + +[browserOutDir, nodeOutDir].forEach((dir) => { + try { + fs.rmSync(path.join(dir, ".gitignore")); + } catch {} +}); + console.log(`\nšŸŽ‰ All builds finished successfully!`); diff --git a/wasm/src/browser/cap_wasm.d.ts b/wasm/src/browser/cap_wasm.d.ts new file mode 100644 index 0000000..11b77b6 --- /dev/null +++ b/wasm/src/browser/cap_wasm.d.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +export function solve_pow(salt: string, target: string): bigint; + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly solve_pow: (a: number, b: number, c: number, d: number) => bigint; + readonly __wbindgen_export_0: WebAssembly.Table; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/wasm/src/browser/cap_wasm.js b/wasm/src/browser/cap_wasm.js new file mode 100644 index 0000000..552b746 --- /dev/null +++ b/wasm/src/browser/cap_wasm.js @@ -0,0 +1,197 @@ +let wasm; + +let WASM_VECTOR_LEN = 0; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} +/** + * @param {string} salt + * @param {string} target + * @returns {bigint} + */ +export function solve_pow(salt, target) { + const ptr0 = passStringToWasm0(salt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(target, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.solve_pow(ptr0, len0, ptr1, len1); + return BigInt.asUintN(64, ret); +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_0; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('cap_wasm_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/src/browser/cap_wasm_bg.wasm b/wasm/src/browser/cap_wasm_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..0928d71737ab85b07dc9389154d70bc83a01d6bc GIT binary patch literal 28688 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 literal 0 HcmV?d00001 diff --git a/wasm/src/browser/cap_wasm_bg.wasm.d.ts b/wasm/src/browser/cap_wasm_bg.wasm.d.ts new file mode 100644 index 0000000..42a2803 --- /dev/null +++ b/wasm/src/browser/cap_wasm_bg.wasm.d.ts @@ -0,0 +1,8 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export const solve_pow: (a: number, b: number, c: number, d: number) => bigint; +export const __wbindgen_export_0: WebAssembly.Table; +export const __wbindgen_malloc: (a: number, b: number) => number; +export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; +export const __wbindgen_start: () => void; diff --git a/wasm/src/browser/package.json b/wasm/src/browser/package.json new file mode 100644 index 0000000..29aea95 --- /dev/null +++ b/wasm/src/browser/package.json @@ -0,0 +1,15 @@ +{ + "name": "cap_wasm", + "type": "module", + "version": "0.1.0", + "files": [ + "cap_wasm_bg.wasm", + "cap_wasm.js", + "cap_wasm.d.ts" + ], + "main": "cap_wasm.js", + "types": "cap_wasm.d.ts", + "sideEffects": [ + "./snippets/*" + ] +} \ No newline at end of file diff --git a/wasm/src/node/cap_wasm.d.ts b/wasm/src/node/cap_wasm.d.ts new file mode 100644 index 0000000..b5c1b6a --- /dev/null +++ b/wasm/src/node/cap_wasm.d.ts @@ -0,0 +1,3 @@ +/* tslint:disable */ +/* eslint-disable */ +export function solve_pow(salt: string, target: string): bigint; diff --git a/wasm/src/node/cap_wasm.js b/wasm/src/node/cap_wasm.js new file mode 100644 index 0000000..25423b1 --- /dev/null +++ b/wasm/src/node/cap_wasm.js @@ -0,0 +1,105 @@ + +let imports = {}; +imports['__wbindgen_placeholder__'] = module.exports; +let wasm; +const { TextEncoder } = require(`util`); + +let WASM_VECTOR_LEN = 0; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +let cachedTextEncoder = new TextEncoder('utf-8'); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} +/** + * @param {string} salt + * @param {string} target + * @returns {bigint} + */ +module.exports.solve_pow = function(salt, target) { + const ptr0 = passStringToWasm0(salt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(target, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.solve_pow(ptr0, len0, ptr1, len1); + return BigInt.asUintN(64, ret); +}; + +module.exports.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_0; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; +}; + +const path = require('path').join(__dirname, 'cap_wasm_bg.wasm'); +const bytes = require('fs').readFileSync(path); + +const wasmModule = new WebAssembly.Module(bytes); +const wasmInstance = new WebAssembly.Instance(wasmModule, imports); +wasm = wasmInstance.exports; +module.exports.__wasm = wasm; + +wasm.__wbindgen_start(); + diff --git a/wasm/src/node/cap_wasm_bg.wasm b/wasm/src/node/cap_wasm_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..69aed63e7b536c0ad22847539f142b1a9e5d03df GIT binary patch literal 28709 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 gb@BK3Fqc@0-ShXJnw-0? bigint; +export const __wbindgen_export_0: WebAssembly.Table; +export const __wbindgen_malloc: (a: number, b: number) => number; +export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; +export const __wbindgen_start: () => void; diff --git a/wasm/src/node/package.json b/wasm/src/node/package.json new file mode 100644 index 0000000..5786682 --- /dev/null +++ b/wasm/src/node/package.json @@ -0,0 +1,11 @@ +{ + "name": "cap_wasm", + "version": "0.1.0", + "files": [ + "cap_wasm_bg.wasm", + "cap_wasm.js", + "cap_wasm.d.ts" + ], + "main": "cap_wasm.js", + "types": "cap_wasm.d.ts" +} \ No newline at end of file diff --git a/wasm/src/package.json b/wasm/src/package.json index ec066a5..9a06ff7 100644 --- a/wasm/src/package.json +++ b/wasm/src/package.json @@ -1,13 +1,8 @@ { "name": "@cap.js/wasm", - "version": "0.0.1", + "version": "0.0.3", "description": "WASM for Cap's solver", - "main": "index.js", - "files": [ - "node/", - "browser/", - "README.md" - ], + "main": "./node/cap_wasm.js", "keywords": [ "account security", "abuse detection", diff --git a/widget/src/src/cap.js b/widget/src/src/cap.js index b2ec478..da001f8 100644 --- a/widget/src/src/cap.js +++ b/widget/src/src/cap.js @@ -426,7 +426,9 @@ document.adoptedStyleSheets.push(sheet); // MARK: Solver worker + // TODO: Switch to using Rust WASM solver const workerFunct = function () { + // MARK: TODO: Switch to using Rust WASM solver let hasher; self.onmessage = async ({ data: { salt, target } }) => { @@ -497,6 +499,7 @@ } } + // MARK: TODO: Switch to using Rust WASM solver if (!hasher) { hasher = await hashwasm.createSHA256(); } @@ -531,6 +534,7 @@ }; }; + // MARK: TODO: Switch to using Rust WASM solver setTimeout(async function () { workerScript = (await (