@iam-protocol/pulse-sdk 0.3.7 → 0.3.9

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iam-protocol/pulse-sdk",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "description": "Client-side SDK for IAM Protocol — sensor capture, TBH generation, ZK proof construction",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
package/src/pulse.ts CHANGED
@@ -169,13 +169,30 @@ async function processSensorData(
169
169
  };
170
170
  }
171
171
 
172
- const { proof, publicSignals } = await generateProof(
173
- circuitInput,
174
- wasmPath,
175
- zkeyPath
176
- );
177
-
178
- solanaProof = serializeProof(proof, publicSignals);
172
+ try {
173
+ const { proof, publicSignals } = await generateProof(
174
+ circuitInput,
175
+ wasmPath,
176
+ zkeyPath
177
+ );
178
+ solanaProof = serializeProof(proof, publicSignals);
179
+ } catch (proofErr: any) {
180
+ // Include diagnostics in error for mobile debugging (no devtools)
181
+ const audioNZ = features.slice(0, 44).filter((v) => v !== 0).length;
182
+ const motionNZ = features.slice(44, 98).filter((v) => v !== 0).length;
183
+ const touchNZ = features.slice(98, 134).filter((v) => v !== 0).length;
184
+ const rawAudio = sensorData.audio?.samples.length ?? 0;
185
+ const rawMotion = sensorData.motion.length;
186
+ const rawTouch = sensorData.touch.length;
187
+ // First 3 feature values as a fingerprint to detect identical data
188
+ const sig = features.slice(0, 3).map((v) => v.toFixed(4)).join(",");
189
+ return {
190
+ success: false,
191
+ commitment: tbh.commitmentBytes,
192
+ isFirstVerification: false,
193
+ error: `Proof failed (dist=${distance}, feat=${audioNZ}/${motionNZ}/${touchNZ}, raw=${rawAudio}/${rawMotion}/${rawTouch}, sig=${sig}): ${proofErr?.message ?? proofErr}`,
194
+ };
195
+ }
179
196
  }
180
197
 
181
198
  // Submit