@kynesyslabs/demosdk 2.5.0 → 2.5.1

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.
@@ -2,6 +2,7 @@
2
2
  * CommitmentService - Generate identity commitments and nullifiers
3
3
  *
4
4
  * REVIEW: Phase 9 - SDK Integration
5
+ * REVIEW: Phase 10.1 - Production Implementation (Real Poseidon hash)
5
6
  *
6
7
  * Provides methods for generating cryptographic commitments and nullifiers
7
8
  * for the ZK identity system using Poseidon hash.
@@ -3,6 +3,7 @@
3
3
  * CommitmentService - Generate identity commitments and nullifiers
4
4
  *
5
5
  * REVIEW: Phase 9 - SDK Integration
6
+ * REVIEW: Phase 10.1 - Production Implementation (Real Poseidon hash)
6
7
  *
7
8
  * Provides methods for generating cryptographic commitments and nullifiers
8
9
  * for the ZK identity system using Poseidon hash.
@@ -11,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
12
  exports.generateCommitment = generateCommitment;
12
13
  exports.generateNullifier = generateNullifier;
13
14
  exports.generateSecret = generateSecret;
15
+ // REVIEW: Phase 10.1 - Production cryptographic implementation
16
+ const poseidon_lite_1 = require("poseidon-lite");
14
17
  /**
15
18
  * Generate a Poseidon hash commitment from provider ID and secret
16
19
  *
@@ -101,20 +104,18 @@ function uint8ArrayToHex(array) {
101
104
  .join('');
102
105
  }
103
106
  /**
104
- * Poseidon hash implementation
107
+ * Poseidon hash implementation using poseidon-lite
105
108
  *
106
- * TODO: Replace with actual poseidon-lite or circomlibjs implementation
107
- * This is a placeholder for testing purposes
109
+ * Poseidon is a ZK-friendly hash function optimized for use in
110
+ * zero-knowledge proof circuits. We use poseidon2 for hashing 2 inputs.
111
+ *
112
+ * @param inputs - Array of exactly 2 BigInt values to hash
113
+ * @returns Poseidon hash output as BigInt
108
114
  */
109
115
  function poseidonHash(inputs) {
110
- // TEMPORARY: Simple XOR-based hash for testing
111
- // MUST be replaced with real Poseidon hash from poseidon-lite
112
- console.warn('WARNING: Using placeholder hash - replace with real Poseidon');
113
- let result = BigInt(0);
114
- for (const input of inputs) {
115
- result ^= input;
116
+ if (inputs.length !== 2) {
117
+ throw new Error('poseidonHash expects exactly 2 inputs');
116
118
  }
117
- // Ensure positive result
118
- return result > 0 ? result : -result;
119
+ return (0, poseidon_lite_1.poseidon2)(inputs);
119
120
  }
120
121
  //# sourceMappingURL=CommitmentService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommitmentService.js","sourceRoot":"","sources":["../../../../../src/encryption/zK/identity/CommitmentService.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAeH,gDAWC;AAeD,8CAOC;AAaD,wCAeC;AA1ED;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAAC,UAAkB,EAAE,MAAc;IACjE,iDAAiD;IACjD,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAEzC,kCAAkC;IAClC,uFAAuF;IACvF,yFAAyF;IACzF,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;IAE3D,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAA;AAChC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,iBAAiB,CAAC,UAAkB,EAAE,OAAe;IACjE,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAE3C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAE3D,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAA;AAC/B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,cAAc;IAC1B,kDAAkD;IAClD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACpC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;AAClE,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,cAAc,CAAC,GAAW;IAC/B,uDAAuD;IACvD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAClC,OAAO,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAiB;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,MAAgB;IAClC,+CAA+C;IAC/C,8DAA8D;IAC9D,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;IAE5E,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAA;IACnB,CAAC;IAED,yBAAyB;IACzB,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"CommitmentService.js","sourceRoot":"","sources":["../../../../../src/encryption/zK/identity/CommitmentService.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAkBH,gDAWC;AAeD,8CAOC;AAaD,wCAeC;AA7ED,+DAA+D;AAC/D,iDAAyC;AAEzC;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAAC,UAAkB,EAAE,MAAc;IACjE,iDAAiD;IACjD,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAEzC,kCAAkC;IAClC,uFAAuF;IACvF,yFAAyF;IACzF,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;IAE3D,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAA;AAChC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,iBAAiB,CAAC,UAAkB,EAAE,OAAe;IACjE,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAE3C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAE3D,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAA;AAC/B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,cAAc;IAC1B,kDAAkD;IAClD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACpC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;AAClE,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,cAAc,CAAC,GAAW;IAC/B,uDAAuD;IACvD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAClC,OAAO,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAiB;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,MAAgB;IAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,IAAA,yBAAS,EAAC,MAAM,CAAC,CAAA;AAC5B,CAAC"}
@@ -2,9 +2,11 @@
2
2
  * ProofGenerator - Client-side ZK-SNARK proof generation
3
3
  *
4
4
  * REVIEW: Phase 9 - SDK Integration
5
+ * REVIEW: Phase 10.1 - Production Implementation (Real snarkjs proof generation)
6
+ * REVIEW: Phase 10.4 - CDN Integration (Production-ready with CDN URLs)
5
7
  *
6
8
  * Generates Groth16 ZK-SNARK proofs for identity attestations using snarkjs.
7
- * Requires the circuit's proving key (WASM) and witness calculator.
9
+ * Circuit artifacts (WASM, proving key, verification key) are loaded from CDN.
8
10
  */
9
11
  export interface ZKProof {
10
12
  pi_a: string[];
@@ -53,5 +55,6 @@ export declare function generateIdentityProof(providerId: string, secret: string
53
55
  * @returns True if proof is valid
54
56
  *
55
57
  * NOTE: Node RPC will do the actual verification, this is mainly for debugging
58
+ * REVIEW: Phase 10.4 - Production verification implementation with CDN
56
59
  */
57
60
  export declare function verifyProof(proof: ZKProof, publicSignals: string[]): Promise<boolean>;
@@ -3,13 +3,50 @@
3
3
  * ProofGenerator - Client-side ZK-SNARK proof generation
4
4
  *
5
5
  * REVIEW: Phase 9 - SDK Integration
6
+ * REVIEW: Phase 10.1 - Production Implementation (Real snarkjs proof generation)
7
+ * REVIEW: Phase 10.4 - CDN Integration (Production-ready with CDN URLs)
6
8
  *
7
9
  * Generates Groth16 ZK-SNARK proofs for identity attestations using snarkjs.
8
- * Requires the circuit's proving key (WASM) and witness calculator.
10
+ * Circuit artifacts (WASM, proving key, verification key) are loaded from CDN.
9
11
  */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
25
+ }) : function(o, v) {
26
+ o["default"] = v;
27
+ });
28
+ var __importStar = (this && this.__importStar) || (function () {
29
+ var ownKeys = function(o) {
30
+ ownKeys = Object.getOwnPropertyNames || function (o) {
31
+ var ar = [];
32
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
+ return ar;
34
+ };
35
+ return ownKeys(o);
36
+ };
37
+ return function (mod) {
38
+ if (mod && mod.__esModule) return mod;
39
+ var result = {};
40
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
+ __setModuleDefault(result, mod);
42
+ return result;
43
+ };
44
+ })();
10
45
  Object.defineProperty(exports, "__esModule", { value: true });
11
46
  exports.generateIdentityProof = generateIdentityProof;
12
47
  exports.verifyProof = verifyProof;
48
+ // REVIEW: Phase 10.1 - Production cryptographic implementation
49
+ const snarkjs = __importStar(require("snarkjs"));
13
50
  /**
14
51
  * Generate a ZK-SNARK proof for identity attestation
15
52
  *
@@ -48,35 +85,33 @@ async function generateIdentityProof(providerId, secret, context, merkleProof, m
48
85
  context: contextBigInt.toString(),
49
86
  merkle_root: merkleRoot,
50
87
  };
51
- // TODO: Load proving key (WASM) from CDN or local storage
52
- // const wasmPath = '/zk/identity_with_merkle.wasm'
53
- // const zkeyPath = '/zk/proving_key_merkle.zkey'
54
- // TODO: Generate witness using snarkjs
55
- // const { proof, publicSignals } = await snarkjs.groth16.fullProve(
56
- // circuitInputs,
57
- // wasmPath,
58
- // zkeyPath
59
- // )
60
- // TEMPORARY: Return mock proof for testing
61
- console.warn('WARNING: ProofGenerator not yet implemented - using mock proof');
62
- const mockProof = {
63
- pi_a: ['1', '2', '1'],
88
+ // REVIEW: Phase 10.4 - Production CDN URLs for circuit artifacts
89
+ const wasmPath = 'https://files.demos.sh/zk-circuits/v1/identity_with_merkle.wasm';
90
+ const zkeyPath = 'https://files.demos.sh/zk-circuits/v1/identity_with_merkle_0000.zkey';
91
+ // REVIEW: Phase 10.1 - Production-ready proof generation using snarkjs
92
+ const { proof, publicSignals } = await snarkjs.groth16.fullProve(circuitInputs, wasmPath, zkeyPath);
93
+ // Convert proof to our ZKProof format
94
+ const zkProof = {
95
+ pi_a: [
96
+ proof.pi_a[0].toString(),
97
+ proof.pi_a[1].toString(),
98
+ proof.pi_a[2].toString(),
99
+ ],
64
100
  pi_b: [
65
- ['1', '2'],
66
- ['3', '4'],
67
- ['1', '0'],
101
+ [proof.pi_b[0][0].toString(), proof.pi_b[0][1].toString()],
102
+ [proof.pi_b[1][0].toString(), proof.pi_b[1][1].toString()],
103
+ [proof.pi_b[2][0].toString(), proof.pi_b[2][1].toString()],
104
+ ],
105
+ pi_c: [
106
+ proof.pi_c[0].toString(),
107
+ proof.pi_c[1].toString(),
108
+ proof.pi_c[2].toString(),
68
109
  ],
69
- pi_c: ['1', '2', '1'],
70
110
  protocol: 'groth16',
71
111
  };
72
- const mockPublicSignals = [
73
- computeNullifier(providerId, context),
74
- merkleRoot,
75
- contextBigInt.toString(),
76
- ];
77
112
  return {
78
- proof: mockProof,
79
- publicSignals: mockPublicSignals,
113
+ proof: zkProof,
114
+ publicSignals: publicSignals.map((s) => s.toString()),
80
115
  };
81
116
  }
82
117
  /**
@@ -87,31 +122,39 @@ async function generateIdentityProof(providerId, secret, context, merkleProof, m
87
122
  * @returns True if proof is valid
88
123
  *
89
124
  * NOTE: Node RPC will do the actual verification, this is mainly for debugging
125
+ * REVIEW: Phase 10.4 - Production verification implementation with CDN
90
126
  */
91
127
  async function verifyProof(proof, publicSignals) {
92
- // TODO: Load verification key
93
- // const vkey = await loadVerificationKey()
94
- // TODO: Verify using snarkjs
95
- // return await snarkjs.groth16.verify(vkey, publicSignals, proof)
96
- console.warn('WARNING: Local proof verification not yet implemented');
97
- return true;
128
+ // REVIEW: Phase 10.4 - Load verification key from CDN
129
+ const vkeyUrl = 'https://files.demos.sh/zk-circuits/v1/verification_key_merkle.json';
130
+ try {
131
+ const response = await fetch(vkeyUrl);
132
+ if (!response.ok) {
133
+ throw new Error(`Failed to load verification key: ${response.status} ${response.statusText}`);
134
+ }
135
+ const vkey = await response.json();
136
+ // REVIEW: Phase 10.1 - Production-ready verification using snarkjs
137
+ // Convert our ZKProof format to snarkjs format
138
+ const snarkjsProof = {
139
+ pi_a: proof.pi_a,
140
+ pi_b: proof.pi_b,
141
+ pi_c: proof.pi_c,
142
+ protocol: proof.protocol,
143
+ };
144
+ return await snarkjs.groth16.verify(vkey, publicSignals, snarkjsProof);
145
+ }
146
+ catch (error) {
147
+ throw new Error(`ZK proof verification failed: ${error instanceof Error ? error.message : String(error)}`);
148
+ }
98
149
  }
99
150
  // ============================================================================
100
151
  // Helper Functions
101
152
  // ============================================================================
102
- /**
103
- * Compute nullifier from provider ID and context
104
- * (Same logic as CommitmentService.generateNullifier)
105
- */
106
- function computeNullifier(providerId, context) {
107
- const providerHash = stringToBigInt(providerId);
108
- const contextHash = stringToBigInt(context);
109
- // TODO: Use real Poseidon hash
110
- const nullifier = providerHash ^ contextHash;
111
- return (nullifier > BigInt(0) ? nullifier : -nullifier).toString();
112
- }
113
153
  /**
114
154
  * Convert string to BigInt using simple hashing
155
+ *
156
+ * @param str - Input string to convert
157
+ * @returns BigInt representation of the string
115
158
  */
116
159
  function stringToBigInt(str) {
117
160
  const encoder = new TextEncoder();
@@ -121,31 +164,4 @@ function stringToBigInt(str) {
121
164
  .join('');
122
165
  return BigInt('0x' + hex);
123
166
  }
124
- /**
125
- * Load circuit WASM file
126
- *
127
- * TODO: Implement loading from CDN or local storage
128
- */
129
- async function loadCircuitWasm(url) {
130
- const response = await fetch(url);
131
- return await response.arrayBuffer();
132
- }
133
- /**
134
- * Load proving key
135
- *
136
- * TODO: Implement loading from CDN or local storage
137
- */
138
- async function loadProvingKey(url) {
139
- const response = await fetch(url);
140
- return await response.arrayBuffer();
141
- }
142
- /**
143
- * Load verification key for local verification
144
- *
145
- * TODO: Implement loading verification key
146
- */
147
- async function loadVerificationKey() {
148
- // Load from CDN or local storage
149
- throw new Error('Not implemented');
150
- }
151
167
  //# sourceMappingURL=ProofGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProofGenerator.js","sourceRoot":"","sources":["../../../../../src/encryption/zK/identity/ProofGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProofGenerator.js","sourceRoot":"","sources":["../../../../../src/encryption/zK/identity/ProofGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kynesyslabs/demosdk",
3
- "version": "2.5.0",
3
+ "version": "2.5.1",
4
4
  "description": "Demosdk is a JavaScript/TypeScript SDK that provides a unified interface for interacting with Demos network",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -109,8 +109,10 @@
109
109
  "node-forge": "^1.3.1",
110
110
  "node-seal": "^5.1.7",
111
111
  "ntru": "^4.0.4",
112
+ "poseidon-lite": "^0.3.0",
112
113
  "pqcrypto": "^1.0.1",
113
114
  "protobufjs": "^7.5.4",
115
+ "snarkjs": "^0.7.5",
114
116
  "ripple-keypairs": "^2.0.0",
115
117
  "rubic-sdk": "^5.57.4",
116
118
  "simple-peer": "^9.11.1",