@opaquecash/stealth-wasm 0.1.1 → 0.2.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.
package/dist/index.d.ts CHANGED
@@ -78,10 +78,6 @@ export declare function deriveStealthAddress(wasm: StealthWasmModule, viewPrivke
78
78
  * Encode announcement metadata for a PSR attestation (view tag byte + attestation id).
79
79
  */
80
80
  export declare function encodeAttestationMetadata(wasm: StealthWasmModule, viewTag: number, attestationId: bigint): string;
81
- /**
82
- * Run WASM witness generation for the reputation circuit from a JSON attestation list.
83
- */
84
- export declare function generateReputationWitnessJson(wasm: StealthWasmModule, attestationsJson: string, targetTraitId: string, stealthPrivkeyBytes: Uint8Array, externalNullifier: string): string;
85
81
  /**
86
82
  * Scan announcements JSON and return JSON string of matching stealth attestations.
87
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACnC,OAAO,CAAC,EAAE,sBAAsB,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,OAAO,CAAC,iBAAiB,CAAC,CAwB5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,0BAA0B,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,EACvB,oBAAoB,EAAE,UAAU,EAChC,mBAAmB,EAAE,UAAU,EAC/B,oBAAoB,EAAE,UAAU,GAC/B,UAAU,CAMZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAM7C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,iBAAiB,EACvB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,UAAU,EAC/B,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,GAC3B,MAAM,CAMR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAsBtE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACnC,OAAO,CAAC,EAAE,sBAAsB,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,OAAO,CAAC,iBAAiB,CAAC,CAwB5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,0BAA0B,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,EACvB,oBAAoB,EAAE,UAAU,EAChC,mBAAmB,EAAE,UAAU,EAC/B,oBAAoB,EAAE,UAAU,GAC/B,UAAU,CAMZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAM7C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,GAC3B,MAAM,CA+CR"}
package/dist/index.js CHANGED
@@ -7,6 +7,26 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  let cached = null;
10
+ let debugLoggedScan = false;
11
+ function shouldDebug() {
12
+ try {
13
+ // Opt-in flag for docs playground / debugging sessions.
14
+ return globalThis?.__OPAQUE_DEBUG === true;
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ }
20
+ function debugByteLenFromHex(hex) {
21
+ if (typeof hex !== "string")
22
+ return null;
23
+ const h = hex.startsWith("0x") ? hex.slice(2) : hex;
24
+ if (h.length === 0)
25
+ return 0;
26
+ if (h.length % 2 !== 0)
27
+ return null;
28
+ return h.length / 2;
29
+ }
10
30
  /**
11
31
  * Load the cryptography WASM module and return the API singleton.
12
32
  *
@@ -85,16 +105,93 @@ export function deriveStealthAddress(wasm, viewPrivkeyBytes, spendPubkeyBytes, e
85
105
  export function encodeAttestationMetadata(wasm, viewTag, attestationId) {
86
106
  return wasm.encode_attestation_metadata_wasm(viewTag, attestationId);
87
107
  }
88
- /**
89
- * Run WASM witness generation for the reputation circuit from a JSON attestation list.
90
- */
91
- export function generateReputationWitnessJson(wasm, attestationsJson, targetTraitId, stealthPrivkeyBytes, externalNullifier) {
92
- return wasm.generate_reputation_witness(attestationsJson, targetTraitId, stealthPrivkeyBytes, externalNullifier);
93
- }
94
108
  /**
95
109
  * Scan announcements JSON and return JSON string of matching stealth attestations.
96
110
  */
97
111
  export function scanAttestationsJson(wasm, announcementsJson, viewPrivkeyBytes, spendPubkeyBytes) {
98
- return wasm.scan_attestations_wasm(announcementsJson, viewPrivkeyBytes, spendPubkeyBytes);
112
+ if (shouldDebug() && !debugLoggedScan) {
113
+ debugLoggedScan = true;
114
+ try {
115
+ const parsed = JSON.parse(announcementsJson);
116
+ const first = Array.isArray(parsed) ? parsed[0] : undefined;
117
+ console.groupCollapsed("[opaque.debug] scanAttestationsJson input");
118
+ console.log("records:", Array.isArray(parsed) ? parsed.length : "non-array");
119
+ console.log("first.ephemeralPubKey type:", typeof first?.ephemeralPubKey);
120
+ console.log("first.metadata type:", typeof first?.metadata);
121
+ console.log("first.ephemeralPubKey byteLen (hex):", debugByteLenFromHex(first?.ephemeralPubKey));
122
+ console.log("first.metadata byteLen (hex):", debugByteLenFromHex(first?.metadata));
123
+ console.groupEnd();
124
+ }
125
+ catch (e) {
126
+ console.warn("[opaque.debug] scanAttestationsJson JSON.parse failed", e);
127
+ }
128
+ }
129
+ const coerced = coerceAnnouncementsJsonForWasm(announcementsJson);
130
+ if (shouldDebug()) {
131
+ try {
132
+ const parsed = JSON.parse(coerced);
133
+ const first = Array.isArray(parsed) ? parsed[0] : undefined;
134
+ console.groupCollapsed("[opaque.debug] scanAttestationsJson coerced");
135
+ console.log("coercedChanged:", coerced !== announcementsJson);
136
+ console.log("first.ephemeralPubKey type:", typeof first?.ephemeralPubKey);
137
+ console.log("first.metadata type:", typeof first?.metadata);
138
+ console.log("first.ephemeralPubKey byteLen (hex):", debugByteLenFromHex(first?.ephemeralPubKey));
139
+ console.log("first.metadata byteLen (hex):", debugByteLenFromHex(first?.metadata));
140
+ console.log("first.ephemeralPubKey prefix:", typeof first?.ephemeralPubKey === "string" ? first.ephemeralPubKey.slice(0, 6) : null);
141
+ console.groupEnd();
142
+ }
143
+ catch (e) {
144
+ console.warn("[opaque.debug] scanAttestationsJson coerced JSON.parse failed", e);
145
+ }
146
+ }
147
+ return wasm.scan_attestations_wasm(coerced, viewPrivkeyBytes, spendPubkeyBytes);
148
+ }
149
+ function coerceAnnouncementsJsonForWasm(input) {
150
+ // The Rust/WASM scanner expects `ephemeralPubKey` and `metadata` as hex strings (0x...),
151
+ // but several SDK call sites historically produced JSON with number arrays. Convert
152
+ // array forms to hex string form for compatibility.
153
+ try {
154
+ const v = JSON.parse(input);
155
+ if (!Array.isArray(v))
156
+ return input;
157
+ let changed = false;
158
+ const out = v.map((row) => {
159
+ if (!row || typeof row !== "object")
160
+ return row;
161
+ const r = row;
162
+ const next = { ...r };
163
+ const eph = r["ephemeralPubKey"];
164
+ if (Array.isArray(eph)) {
165
+ next["ephemeralPubKey"] = bytesArrayToHex(eph);
166
+ changed = true;
167
+ }
168
+ const meta = r["metadata"];
169
+ if (Array.isArray(meta)) {
170
+ next["metadata"] = bytesArrayToHex(meta);
171
+ changed = true;
172
+ }
173
+ return next;
174
+ });
175
+ return changed ? JSON.stringify(out) : input;
176
+ }
177
+ catch {
178
+ return input;
179
+ }
180
+ }
181
+ function bytesArrayToHex(value) {
182
+ let hex = "0x";
183
+ for (let i = 0; i < value.length; i++) {
184
+ const n = value[i];
185
+ const b = typeof n === "number" && Number.isInteger(n) && n >= 0 && n <= 255
186
+ ? n
187
+ : null;
188
+ if (b === null) {
189
+ // If it isn't a clean byte array, preserve original shape by returning empty hex.
190
+ // WASM will error with a useful message.
191
+ return "0x";
192
+ }
193
+ hex += b.toString(16).padStart(2, "0");
194
+ }
195
+ return hex;
99
196
  }
100
197
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -27,10 +27,6 @@ export interface StealthWasmModule {
27
27
  * Encode PSR attestation metadata for `announce` calldata (view tag + attestation id).
28
28
  */
29
29
  encode_attestation_metadata_wasm(viewTag: number, attestationId: bigint): string;
30
- /**
31
- * Build a Circom JSON witness from indexed attestations (see Rust docs).
32
- */
33
- generate_reputation_witness(attestationsJson: string, targetTraitId: string, stealthPrivkeyBytes: Uint8Array, externalNullifier: string): string;
34
30
  /**
35
31
  * Reconstruct the 32-byte one-time stealth **private** key for spend / PSR witness input.
36
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,CAAC,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,gCAAgC,CAC9B,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B,MAAM,CAAC;IAEV;;OAEG;IACH,uBAAuB,CACrB,0BAA0B,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B,OAAO,CAAC;IAEX;;OAEG;IACH,2BAA2B,CACzB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAE/C;;OAEG;IACH,gCAAgC,CAC9B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC;IAEV;;OAEG;IACH,2BAA2B,CACzB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,UAAU,EAC/B,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAAC;IAEV;;OAEG;IACH,4BAA4B,CAC1B,oBAAoB,EAAE,UAAU,EAChC,mBAAmB,EAAE,UAAU,EAC/B,oBAAoB,EAAE,UAAU,GAC/B,UAAU,CAAC;IAEd;;OAEG;IACH,sBAAsB,CACpB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,GAC3B,MAAM,CAAC;CACX;AAED,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,CAAC,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,gCAAgC,CAC9B,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B,MAAM,CAAC;IAEV;;OAEG;IACH,uBAAuB,CACrB,0BAA0B,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B,OAAO,CAAC;IAEX;;OAEG;IACH,2BAA2B,CACzB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,oBAAoB,EAAE,UAAU,GAC/B;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAE/C;;OAEG;IACH,gCAAgC,CAC9B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC;IAEV;;OAEG;IACH,4BAA4B,CAC1B,oBAAoB,EAAE,UAAU,EAChC,mBAAmB,EAAE,UAAU,EAC/B,oBAAoB,EAAE,UAAU,GAC/B,UAAU,CAAC;IAEd;;OAEG;IACH,sBAAsB,CACpB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,GAC3B,MAAM,CAAC;CACX;AAED,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opaquecash/stealth-wasm",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Loader and TypeScript bindings for Opaque cryptography (wasm-pack) module",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,5 +18,15 @@
18
18
  "build": "tsc -p tsconfig.json",
19
19
  "clean": "rm -rf dist"
20
20
  },
21
- "sideEffects": false
21
+ "sideEffects": false,
22
+ "license": "Apache-2.0",
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/opaquecash/sdk.git",
26
+ "directory": "packages/stealth-wasm"
27
+ },
28
+ "homepage": "https://docs.opaque.cash",
29
+ "publishConfig": {
30
+ "access": "public"
31
+ }
22
32
  }