diff --git a/examples/CRISP/client/package.json b/examples/CRISP/client/package.json index 2f6ab8b2c2..3e0b9e015b 100644 --- a/examples/CRISP/client/package.json +++ b/examples/CRISP/client/package.json @@ -18,7 +18,7 @@ "deploy": "gh-pages -d dist" }, "dependencies": { - "@crisp-e3/sdk": "0.5.4", + "@crisp-e3/sdk": "0.5.6", "@emotion/babel-plugin": "^11.11.0", "@emotion/react": "^11.11.4", "@phosphor-icons/react": "^2.1.4", diff --git a/examples/CRISP/packages/crisp-contracts/package.json b/examples/CRISP/packages/crisp-contracts/package.json index e880974454..49af32d353 100644 --- a/examples/CRISP/packages/crisp-contracts/package.json +++ b/examples/CRISP/packages/crisp-contracts/package.json @@ -1,6 +1,6 @@ { "name": "@crisp-e3/contracts", - "version": "0.5.4", + "version": "0.5.6", "type": "module", "files": [ "contracts", diff --git a/examples/CRISP/packages/crisp-sdk/package.json b/examples/CRISP/packages/crisp-sdk/package.json index 2a2dc0d678..6f0b44bbeb 100644 --- a/examples/CRISP/packages/crisp-sdk/package.json +++ b/examples/CRISP/packages/crisp-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@crisp-e3/sdk", - "version": "0.5.4", + "version": "0.5.6", "type": "module", "author": { "name": "gnosisguild", diff --git a/examples/CRISP/packages/crisp-sdk/src/utils.ts b/examples/CRISP/packages/crisp-sdk/src/utils.ts index c49980f724..7317a128b9 100644 --- a/examples/CRISP/packages/crisp-sdk/src/utils.ts +++ b/examples/CRISP/packages/crisp-sdk/src/utils.ts @@ -124,27 +124,30 @@ export const getAddressFromSignature = async (signature: `0x${string}`, messageH } /** - * Get optimal number of threads for proof generation - * Leaves at least 1 core free for other operations - * Works in both Node.js and browser environments + * Get optimal number of threads for proof generation. + * Leaves at least 1 core free for other operations. + * Works in both Node.js and browser environments. */ export async function getOptimalThreadCount(): Promise { + // Browser environment - check first to avoid Node.js imports in browser builds + if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) { + return Math.max(1, navigator.hardwareConcurrency - 1) + } + // Node.js environment - use os module if available - if (typeof process !== 'undefined' && process.versions?.node) { + // Check for Node.js without directly accessing process to avoid polyfill detection + if (typeof window === 'undefined' && typeof globalThis !== 'undefined' && typeof globalThis.process !== 'undefined') { try { const os = await import('os') + const cpuCount = typeof os.availableParallelism === 'function' ? os.availableParallelism() : os.cpus().length + return Math.max(1, cpuCount - 1) } catch { - // Fall through to browser check or fallback + // Fall through to fallback } } - // Browser environment - if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) { - return Math.max(1, navigator.hardwareConcurrency - 1) - } - // Fallback return 5 } diff --git a/examples/CRISP/packages/crisp-zk-inputs/package.json b/examples/CRISP/packages/crisp-zk-inputs/package.json index c9120422e6..70d4b078c1 100644 --- a/examples/CRISP/packages/crisp-zk-inputs/package.json +++ b/examples/CRISP/packages/crisp-zk-inputs/package.json @@ -2,7 +2,7 @@ "name": "@crisp-e3/zk-inputs", "type": "module", "description": "Core logic to pre-compute CRISP ZK inputs (WASM/JavaScript bindings).", - "version": "0.5.4", + "version": "0.5.6", "license": "LGPL-3.0-only", "repository": { "type": "git", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 39779de543..c117a0cb98 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -143,7 +143,7 @@ importers: examples/CRISP/client: dependencies: '@crisp-e3/sdk': - specifier: 0.5.4 + specifier: 0.5.6 version: link:../packages/crisp-sdk '@emotion/babel-plugin': specifier: ^11.11.0