@0xpolygonid/js-sdk 1.7.4 → 1.7.5

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.
@@ -114,23 +114,28 @@ class AtomicQueryV3Inputs extends common_1.BaseConfig {
114
114
  s.isRevocationChecked = 0;
115
115
  }
116
116
  if (this.proofType === verifiable_1.ProofType.BJJSignature) {
117
+ const sigProof = this.claim.signatureProof;
117
118
  s.proofType = '1';
118
- s.issuerClaimSignatureR8x = this.claim.signatureProof?.signature.R8[0].toString();
119
- s.issuerClaimSignatureR8y = this.claim.signatureProof?.signature.R8[1].toString();
120
- s.issuerClaimSignatureS = this.claim.signatureProof?.signature.S.toString();
121
- s.issuerAuthClaim = this.claim.signatureProof?.issuerAuthClaim?.marshalJson();
122
- s.issuerAuthClaimMtp = (0, common_1.prepareSiblingsStr)(this.claim.signatureProof?.issuerAuthIncProof.proof, this.getMTLevel());
123
- s.issuerAuthClaimsTreeRoot = treeState.claimsRoot.bigInt().toString();
124
- s.issuerAuthRevTreeRoot = treeState.revocationRoot.bigInt().toString();
125
- s.issuerAuthRootsTreeRoot = treeState.rootOfRoots.bigInt().toString();
126
- s.issuerAuthClaimNonRevMtp = (0, common_1.prepareSiblingsStr)(this.claim.signatureProof?.issuerAuthNonRevProof.proof, this.getMTLevel());
127
- const nodeAuxIssuerAuthNonRev = (0, common_1.getNodeAuxValue)(this.claim.signatureProof?.issuerAuthNonRevProof.proof);
119
+ s.issuerClaimSignatureR8x = sigProof.signature.R8[0].toString();
120
+ s.issuerClaimSignatureR8y = sigProof.signature.R8[1].toString();
121
+ s.issuerClaimSignatureS = sigProof.signature.S.toString();
122
+ s.issuerAuthClaim = sigProof.issuerAuthClaim?.marshalJson();
123
+ s.issuerAuthClaimMtp = (0, common_1.prepareSiblingsStr)(sigProof.issuerAuthIncProof.proof, this.getMTLevel());
124
+ s.issuerAuthClaimsTreeRoot = sigProof.issuerAuthIncProof.treeState?.claimsRoot
125
+ .bigInt()
126
+ .toString();
127
+ s.issuerAuthRevTreeRoot = sigProof.issuerAuthIncProof.treeState?.revocationRoot
128
+ .bigInt()
129
+ .toString();
130
+ s.issuerAuthRootsTreeRoot = sigProof.issuerAuthIncProof.treeState?.rootOfRoots
131
+ .bigInt()
132
+ .toString();
133
+ s.issuerAuthClaimNonRevMtp = (0, common_1.prepareSiblingsStr)(sigProof.issuerAuthNonRevProof.proof, this.getMTLevel());
134
+ const nodeAuxIssuerAuthNonRev = (0, common_1.getNodeAuxValue)(sigProof.issuerAuthNonRevProof.proof);
128
135
  s.issuerAuthClaimNonRevMtpAuxHi = nodeAuxIssuerAuthNonRev.key.bigInt().toString();
129
136
  s.issuerAuthClaimNonRevMtpAuxHv = nodeAuxIssuerAuthNonRev.value.bigInt().toString();
130
137
  s.issuerAuthClaimNonRevMtpNoAux = nodeAuxIssuerAuthNonRev.noAux;
131
- s.issuerAuthState = this.claim.signatureProof?.issuerAuthIncProof.treeState?.state
132
- .bigInt()
133
- .toString();
138
+ s.issuerAuthState = sigProof.issuerAuthIncProof.treeState?.state.bigInt().toString();
134
139
  this.fillMTPProofsWithZero(s);
135
140
  }
136
141
  else if (this.proofType === verifiable_1.ProofType.Iden3SparseMerkleTreeProof) {
@@ -25,5 +25,4 @@ __exportStar(require("./atomic-query-v3-on-chain"), exports);
25
25
  __exportStar(require("./atomic-query-sig-v2-on-chain"), exports);
26
26
  __exportStar(require("./auth-v2"), exports);
27
27
  __exportStar(require("./state-transition"), exports);
28
- __exportStar(require("./linked-nullifier"), exports);
29
28
  __exportStar(require("./linked-multi-query"), exports);
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LinkedMultiQueryPubSignals = exports.LinkedMultiQueryInputs = void 0;
4
+ const js_merkletree_1 = require("@iden3/js-merkletree");
4
5
  const utils_1 = require("../utils");
5
6
  const common_1 = require("./common");
7
+ const models_1 = require("./models");
6
8
  /**
7
9
  * LinkedMultiQuery circuit representation
8
10
  * Inputs and public signals declaration, marshalling and parsing
@@ -24,7 +26,7 @@ class LinkedMultiQueryInputs extends common_1.BaseConfig {
24
26
  const slotIndex = [];
25
27
  const operator = [];
26
28
  const value = [];
27
- for (let i = 0; i < this.queryLength; i++) {
29
+ for (let i = 0; i < LinkedMultiQueryInputs.queryCount; i++) {
28
30
  if (!this.query[i]) {
29
31
  enabled.push(0);
30
32
  claimPathNotExists.push(0);
@@ -41,7 +43,13 @@ class LinkedMultiQueryInputs extends common_1.BaseConfig {
41
43
  continue;
42
44
  }
43
45
  enabled.push(1);
44
- const valueProof = this.query[i].valueProof;
46
+ let valueProof = this.query[i].valueProof;
47
+ if (!valueProof) {
48
+ valueProof = new models_1.ValueProof();
49
+ valueProof.path = 0n;
50
+ valueProof.value = 0n;
51
+ valueProof.mtp = new js_merkletree_1.Proof();
52
+ }
45
53
  claimPathNotExists.push((0, common_1.existenceToInt)(valueProof.mtp.existence));
46
54
  claimPathMtp.push((0, common_1.prepareSiblingsStr)(valueProof.mtp, this.getMTLevelsClaim()));
47
55
  const nodAuxJSONLD = (0, common_1.getNodeAuxValue)(valueProof.mtp);
@@ -75,7 +83,8 @@ class LinkedMultiQueryInputs extends common_1.BaseConfig {
75
83
  }
76
84
  }
77
85
  exports.LinkedMultiQueryInputs = LinkedMultiQueryInputs;
78
- // LinkedMultiQueryPubSignals linkedMultiQuery.circom public signals
86
+ LinkedMultiQueryInputs.queryCount = 10;
87
+ // LinkedMultiQueryPubSignals linkedMultiQuery10.circom public signals
79
88
  /**
80
89
  * public signals
81
90
  *
@@ -84,14 +93,15 @@ exports.LinkedMultiQueryInputs = LinkedMultiQueryInputs;
84
93
  */
85
94
  class LinkedMultiQueryPubSignals {
86
95
  /**
87
- * PubSignalsUnmarshal unmarshal linkedMultiQuery.circom public inputs to LinkedMultiQueryPubSignals
96
+ * PubSignalsUnmarshal unmarshal linkedMultiQuery10.circom public inputs to LinkedMultiQueryPubSignals
88
97
  *
89
98
  * @beta
90
99
  * @param {Uint8Array} data
91
100
  * @returns LinkedMultiQueryPubSignals
92
101
  */
93
- pubSignalsUnmarshal(data, queryLength) {
94
- const len = queryLength * 3 + 2;
102
+ pubSignalsUnmarshal(data) {
103
+ const len = 32;
104
+ const queryLength = LinkedMultiQueryInputs.queryCount;
95
105
  const sVals = JSON.parse(utils_1.byteDecoder.decode(data));
96
106
  if (sVals.length !== len) {
97
107
  throw new Error(`invalid number of Output values expected ${len} got ${sVals.length}`);
@@ -51,11 +51,6 @@ var CircuitId;
51
51
  */
52
52
  // AtomicQueryV3OnChainCircuitID is a type for credentialAtomicQueryV3OnChain.circom
53
53
  CircuitId["AtomicQueryV3OnChain"] = "credentialAtomicQueryV3OnChain-beta.0";
54
- /**
55
- * @beta
56
- */
57
- // LinkedNullifier is a type for linkedNullifier.circom
58
- CircuitId["LinkedNullifier"] = "linkedNullifier-beta.0";
59
54
  /**
60
55
  * @beta
61
56
  */
@@ -15,8 +15,7 @@ const circuitValidator = {
15
15
  [circuits_1.CircuitId.AtomicQueryV3OnChain]: { maxQueriesCount: 1 },
16
16
  [circuits_1.CircuitId.AuthV2]: { maxQueriesCount: 0 },
17
17
  [circuits_1.CircuitId.StateTransition]: { maxQueriesCount: 0 },
18
- [circuits_1.CircuitId.LinkedNullifier]: { maxQueriesCount: 1 },
19
- [circuits_1.CircuitId.LinkedMultiQuery10]: { maxQueriesCount: 10 }
18
+ [circuits_1.CircuitId.LinkedMultiQuery10]: { maxQueriesCount: circuits_1.LinkedMultiQueryInputs.queryCount }
20
19
  };
21
20
  class InputGenerator {
22
21
  constructor(_identityWallet, _credentialWallet, _stateStorage) {
@@ -284,28 +283,13 @@ class InputGenerator {
284
283
  }
285
284
  return circuitInputs.inputsMarshal();
286
285
  };
287
- this.linkedNullifierPrepareInputs = async ({ preparedCredential, identifier, proofReq, params }) => {
288
- const circuitClaimData = await this.newCircuitClaimData(preparedCredential);
289
- circuitClaimData.nonRevProof = (0, common_1.toClaimNonRevStatus)(preparedCredential.revStatus);
290
- const circuitInputs = new circuits_1.LinkedNullifierInputs();
291
- circuitInputs.linkNonce = params.linkNonce ?? BigInt(0);
292
- circuitInputs.issuerClaim = circuitClaimData.claim;
293
- circuitInputs.id = js_iden3_core_1.DID.idFromDID(identifier);
294
- circuitInputs.claimSubjectProfileNonce = BigInt(params.credentialSubjectProfileNonce);
295
- circuitInputs.verifierID = params.verifierDid ? js_iden3_core_1.DID.idFromDID(params.verifierDid) : undefined;
296
- circuitInputs.nullifierSessionID = proofReq.params?.nullifierSessionID
297
- ? BigInt(proofReq.params?.nullifierSessionID?.toString())
298
- : BigInt(0);
299
- return circuitInputs.inputsMarshal();
300
- };
301
- this.linkedMultiQuery10PrepareInputs = async ({ preparedCredential, proofReq, params, circuitQueries }) => {
286
+ this.linkedMultiQuery10PrepareInputs = async ({ preparedCredential, params, circuitQueries }) => {
302
287
  const circuitClaimData = await this.newCircuitClaimData(preparedCredential);
303
288
  circuitClaimData.nonRevProof = (0, common_1.toClaimNonRevStatus)(preparedCredential.revStatus);
304
289
  const circuitInputs = new circuits_1.LinkedMultiQueryInputs();
305
290
  circuitInputs.linkNonce = params.linkNonce ?? BigInt(0);
306
291
  circuitInputs.claim = circuitClaimData.claim;
307
292
  circuitInputs.query = circuitQueries;
308
- circuitInputs.queryLength = circuitValidator[proofReq.circuitId].maxQueriesCount;
309
293
  return circuitInputs.inputsMarshal();
310
294
  };
311
295
  }
@@ -163,8 +163,8 @@ const StandardJSONCredentialsQueryFilter = (query) => {
163
163
  case 'claimId':
164
164
  return acc.concat(new FilterQuery('id', exports.comparatorOptions.$eq, queryValue));
165
165
  case 'allowedIssuers': {
166
- const [first] = queryValue || [];
167
- if (first && first === '*') {
166
+ const queryValueParam = queryValue || ['*'];
167
+ if (queryValueParam.includes('*')) {
168
168
  return acc;
169
169
  }
170
170
  return acc.concat(new FilterQuery('issuer', exports.comparatorOptions.$in, queryValue));
@@ -111,23 +111,28 @@ export class AtomicQueryV3Inputs extends BaseConfig {
111
111
  s.isRevocationChecked = 0;
112
112
  }
113
113
  if (this.proofType === ProofType.BJJSignature) {
114
+ const sigProof = this.claim.signatureProof;
114
115
  s.proofType = '1';
115
- s.issuerClaimSignatureR8x = this.claim.signatureProof?.signature.R8[0].toString();
116
- s.issuerClaimSignatureR8y = this.claim.signatureProof?.signature.R8[1].toString();
117
- s.issuerClaimSignatureS = this.claim.signatureProof?.signature.S.toString();
118
- s.issuerAuthClaim = this.claim.signatureProof?.issuerAuthClaim?.marshalJson();
119
- s.issuerAuthClaimMtp = prepareSiblingsStr(this.claim.signatureProof?.issuerAuthIncProof.proof, this.getMTLevel());
120
- s.issuerAuthClaimsTreeRoot = treeState.claimsRoot.bigInt().toString();
121
- s.issuerAuthRevTreeRoot = treeState.revocationRoot.bigInt().toString();
122
- s.issuerAuthRootsTreeRoot = treeState.rootOfRoots.bigInt().toString();
123
- s.issuerAuthClaimNonRevMtp = prepareSiblingsStr(this.claim.signatureProof?.issuerAuthNonRevProof.proof, this.getMTLevel());
124
- const nodeAuxIssuerAuthNonRev = getNodeAuxValue(this.claim.signatureProof?.issuerAuthNonRevProof.proof);
116
+ s.issuerClaimSignatureR8x = sigProof.signature.R8[0].toString();
117
+ s.issuerClaimSignatureR8y = sigProof.signature.R8[1].toString();
118
+ s.issuerClaimSignatureS = sigProof.signature.S.toString();
119
+ s.issuerAuthClaim = sigProof.issuerAuthClaim?.marshalJson();
120
+ s.issuerAuthClaimMtp = prepareSiblingsStr(sigProof.issuerAuthIncProof.proof, this.getMTLevel());
121
+ s.issuerAuthClaimsTreeRoot = sigProof.issuerAuthIncProof.treeState?.claimsRoot
122
+ .bigInt()
123
+ .toString();
124
+ s.issuerAuthRevTreeRoot = sigProof.issuerAuthIncProof.treeState?.revocationRoot
125
+ .bigInt()
126
+ .toString();
127
+ s.issuerAuthRootsTreeRoot = sigProof.issuerAuthIncProof.treeState?.rootOfRoots
128
+ .bigInt()
129
+ .toString();
130
+ s.issuerAuthClaimNonRevMtp = prepareSiblingsStr(sigProof.issuerAuthNonRevProof.proof, this.getMTLevel());
131
+ const nodeAuxIssuerAuthNonRev = getNodeAuxValue(sigProof.issuerAuthNonRevProof.proof);
125
132
  s.issuerAuthClaimNonRevMtpAuxHi = nodeAuxIssuerAuthNonRev.key.bigInt().toString();
126
133
  s.issuerAuthClaimNonRevMtpAuxHv = nodeAuxIssuerAuthNonRev.value.bigInt().toString();
127
134
  s.issuerAuthClaimNonRevMtpNoAux = nodeAuxIssuerAuthNonRev.noAux;
128
- s.issuerAuthState = this.claim.signatureProof?.issuerAuthIncProof.treeState?.state
129
- .bigInt()
130
- .toString();
135
+ s.issuerAuthState = sigProof.issuerAuthIncProof.treeState?.state.bigInt().toString();
131
136
  this.fillMTPProofsWithZero(s);
132
137
  }
133
138
  else if (this.proofType === ProofType.Iden3SparseMerkleTreeProof) {
@@ -9,5 +9,4 @@ export * from './atomic-query-v3-on-chain';
9
9
  export * from './atomic-query-sig-v2-on-chain';
10
10
  export * from './auth-v2';
11
11
  export * from './state-transition';
12
- export * from './linked-nullifier';
13
12
  export * from './linked-multi-query';
@@ -1,5 +1,7 @@
1
+ import { Proof } from '@iden3/js-merkletree';
1
2
  import { byteDecoder, byteEncoder } from '../utils';
2
3
  import { BaseConfig, bigIntArrayToStringArray, existenceToInt, getNodeAuxValue, prepareCircuitArrayValues, prepareSiblingsStr } from './common';
4
+ import { ValueProof } from './models';
3
5
  /**
4
6
  * LinkedMultiQuery circuit representation
5
7
  * Inputs and public signals declaration, marshalling and parsing
@@ -21,7 +23,7 @@ export class LinkedMultiQueryInputs extends BaseConfig {
21
23
  const slotIndex = [];
22
24
  const operator = [];
23
25
  const value = [];
24
- for (let i = 0; i < this.queryLength; i++) {
26
+ for (let i = 0; i < LinkedMultiQueryInputs.queryCount; i++) {
25
27
  if (!this.query[i]) {
26
28
  enabled.push(0);
27
29
  claimPathNotExists.push(0);
@@ -38,7 +40,13 @@ export class LinkedMultiQueryInputs extends BaseConfig {
38
40
  continue;
39
41
  }
40
42
  enabled.push(1);
41
- const valueProof = this.query[i].valueProof;
43
+ let valueProof = this.query[i].valueProof;
44
+ if (!valueProof) {
45
+ valueProof = new ValueProof();
46
+ valueProof.path = 0n;
47
+ valueProof.value = 0n;
48
+ valueProof.mtp = new Proof();
49
+ }
42
50
  claimPathNotExists.push(existenceToInt(valueProof.mtp.existence));
43
51
  claimPathMtp.push(prepareSiblingsStr(valueProof.mtp, this.getMTLevelsClaim()));
44
52
  const nodAuxJSONLD = getNodeAuxValue(valueProof.mtp);
@@ -71,7 +79,8 @@ export class LinkedMultiQueryInputs extends BaseConfig {
71
79
  return byteEncoder.encode(JSON.stringify(s));
72
80
  }
73
81
  }
74
- // LinkedMultiQueryPubSignals linkedMultiQuery.circom public signals
82
+ LinkedMultiQueryInputs.queryCount = 10;
83
+ // LinkedMultiQueryPubSignals linkedMultiQuery10.circom public signals
75
84
  /**
76
85
  * public signals
77
86
  *
@@ -80,14 +89,15 @@ export class LinkedMultiQueryInputs extends BaseConfig {
80
89
  */
81
90
  export class LinkedMultiQueryPubSignals {
82
91
  /**
83
- * PubSignalsUnmarshal unmarshal linkedMultiQuery.circom public inputs to LinkedMultiQueryPubSignals
92
+ * PubSignalsUnmarshal unmarshal linkedMultiQuery10.circom public inputs to LinkedMultiQueryPubSignals
84
93
  *
85
94
  * @beta
86
95
  * @param {Uint8Array} data
87
96
  * @returns LinkedMultiQueryPubSignals
88
97
  */
89
- pubSignalsUnmarshal(data, queryLength) {
90
- const len = queryLength * 3 + 2;
98
+ pubSignalsUnmarshal(data) {
99
+ const len = 32;
100
+ const queryLength = LinkedMultiQueryInputs.queryCount;
91
101
  const sVals = JSON.parse(byteDecoder.decode(data));
92
102
  if (sVals.length !== len) {
93
103
  throw new Error(`invalid number of Output values expected ${len} got ${sVals.length}`);
@@ -47,11 +47,6 @@ export var CircuitId;
47
47
  */
48
48
  // AtomicQueryV3OnChainCircuitID is a type for credentialAtomicQueryV3OnChain.circom
49
49
  CircuitId["AtomicQueryV3OnChain"] = "credentialAtomicQueryV3OnChain-beta.0";
50
- /**
51
- * @beta
52
- */
53
- // LinkedNullifier is a type for linkedNullifier.circom
54
- CircuitId["LinkedNullifier"] = "linkedNullifier-beta.0";
55
50
  /**
56
51
  * @beta
57
52
  */
@@ -1,6 +1,6 @@
1
1
  import { DID, Id, getUnixTimestamp } from '@iden3/js-iden3-core';
2
2
  import { ProofType } from '../verifiable';
3
- import { AtomicQueryMTPV2Inputs, AtomicQueryMTPV2OnChainInputs, AtomicQuerySigV2Inputs, AtomicQuerySigV2OnChainInputs, AtomicQueryV3Inputs, AtomicQueryV3OnChainInputs, CircuitClaim, CircuitId, LinkedMultiQueryInputs, LinkedNullifierInputs, Operators } from '../circuits';
3
+ import { AtomicQueryMTPV2Inputs, AtomicQueryMTPV2OnChainInputs, AtomicQuerySigV2Inputs, AtomicQuerySigV2OnChainInputs, AtomicQueryV3Inputs, AtomicQueryV3OnChainInputs, CircuitClaim, CircuitId, LinkedMultiQueryInputs, Operators } from '../circuits';
4
4
  import { toClaimNonRevStatus, toGISTProof } from './common';
5
5
  import { getUserDIDFromCredential } from '../credentials';
6
6
  const circuitValidator = {
@@ -12,8 +12,7 @@ const circuitValidator = {
12
12
  [CircuitId.AtomicQueryV3OnChain]: { maxQueriesCount: 1 },
13
13
  [CircuitId.AuthV2]: { maxQueriesCount: 0 },
14
14
  [CircuitId.StateTransition]: { maxQueriesCount: 0 },
15
- [CircuitId.LinkedNullifier]: { maxQueriesCount: 1 },
16
- [CircuitId.LinkedMultiQuery10]: { maxQueriesCount: 10 }
15
+ [CircuitId.LinkedMultiQuery10]: { maxQueriesCount: LinkedMultiQueryInputs.queryCount }
17
16
  };
18
17
  export class InputGenerator {
19
18
  constructor(_identityWallet, _credentialWallet, _stateStorage) {
@@ -281,28 +280,13 @@ export class InputGenerator {
281
280
  }
282
281
  return circuitInputs.inputsMarshal();
283
282
  };
284
- this.linkedNullifierPrepareInputs = async ({ preparedCredential, identifier, proofReq, params }) => {
285
- const circuitClaimData = await this.newCircuitClaimData(preparedCredential);
286
- circuitClaimData.nonRevProof = toClaimNonRevStatus(preparedCredential.revStatus);
287
- const circuitInputs = new LinkedNullifierInputs();
288
- circuitInputs.linkNonce = params.linkNonce ?? BigInt(0);
289
- circuitInputs.issuerClaim = circuitClaimData.claim;
290
- circuitInputs.id = DID.idFromDID(identifier);
291
- circuitInputs.claimSubjectProfileNonce = BigInt(params.credentialSubjectProfileNonce);
292
- circuitInputs.verifierID = params.verifierDid ? DID.idFromDID(params.verifierDid) : undefined;
293
- circuitInputs.nullifierSessionID = proofReq.params?.nullifierSessionID
294
- ? BigInt(proofReq.params?.nullifierSessionID?.toString())
295
- : BigInt(0);
296
- return circuitInputs.inputsMarshal();
297
- };
298
- this.linkedMultiQuery10PrepareInputs = async ({ preparedCredential, proofReq, params, circuitQueries }) => {
283
+ this.linkedMultiQuery10PrepareInputs = async ({ preparedCredential, params, circuitQueries }) => {
299
284
  const circuitClaimData = await this.newCircuitClaimData(preparedCredential);
300
285
  circuitClaimData.nonRevProof = toClaimNonRevStatus(preparedCredential.revStatus);
301
286
  const circuitInputs = new LinkedMultiQueryInputs();
302
287
  circuitInputs.linkNonce = params.linkNonce ?? BigInt(0);
303
288
  circuitInputs.claim = circuitClaimData.claim;
304
289
  circuitInputs.query = circuitQueries;
305
- circuitInputs.queryLength = circuitValidator[proofReq.circuitId].maxQueriesCount;
306
290
  return circuitInputs.inputsMarshal();
307
291
  };
308
292
  }
@@ -158,8 +158,8 @@ export const StandardJSONCredentialsQueryFilter = (query) => {
158
158
  case 'claimId':
159
159
  return acc.concat(new FilterQuery('id', comparatorOptions.$eq, queryValue));
160
160
  case 'allowedIssuers': {
161
- const [first] = queryValue || [];
162
- if (first && first === '*') {
161
+ const queryValueParam = queryValue || ['*'];
162
+ if (queryValueParam.includes('*')) {
163
163
  return acc;
164
164
  }
165
165
  return acc.concat(new FilterQuery('issuer', comparatorOptions.$in, queryValue));
@@ -9,5 +9,4 @@ export * from './atomic-query-v3-on-chain';
9
9
  export * from './atomic-query-sig-v2-on-chain';
10
10
  export * from './auth-v2';
11
11
  export * from './state-transition';
12
- export * from './linked-nullifier';
13
12
  export * from './linked-multi-query';
@@ -9,10 +9,10 @@ import { Query } from './models';
9
9
  * @class LinkedMultiQueryInputs
10
10
  */
11
11
  export declare class LinkedMultiQueryInputs extends BaseConfig {
12
+ static queryCount: number;
12
13
  linkNonce: bigint;
13
14
  claim: Claim;
14
15
  query: Query[];
15
- queryLength: number;
16
16
  inputsMarshal(): Uint8Array;
17
17
  }
18
18
  /**
@@ -28,11 +28,11 @@ export declare class LinkedMultiQueryPubSignals {
28
28
  circuitQueryHash: bigint[];
29
29
  enabled: boolean[];
30
30
  /**
31
- * PubSignalsUnmarshal unmarshal linkedMultiQuery.circom public inputs to LinkedMultiQueryPubSignals
31
+ * PubSignalsUnmarshal unmarshal linkedMultiQuery10.circom public inputs to LinkedMultiQueryPubSignals
32
32
  *
33
33
  * @beta
34
34
  * @param {Uint8Array} data
35
35
  * @returns LinkedMultiQueryPubSignals
36
36
  */
37
- pubSignalsUnmarshal(data: Uint8Array, queryLength: number): LinkedMultiQueryPubSignals;
37
+ pubSignalsUnmarshal(data: Uint8Array): LinkedMultiQueryPubSignals;
38
38
  }
@@ -61,10 +61,6 @@ export declare enum CircuitId {
61
61
  * @beta
62
62
  */
63
63
  AtomicQueryV3OnChain = "credentialAtomicQueryV3OnChain-beta.0",
64
- /**
65
- * @beta
66
- */
67
- LinkedNullifier = "linkedNullifier-beta.0",
68
64
  /**
69
65
  * @beta
70
66
  */
@@ -40,7 +40,6 @@ export declare class InputGenerator {
40
40
  private credentialAtomicQuerySigV2OnChainPrepareInputs;
41
41
  private credentialAtomicQueryV3PrepareInputs;
42
42
  private credentialAtomicQueryV3OnChainPrepareInputs;
43
- private linkedNullifierPrepareInputs;
44
- linkedMultiQuery10PrepareInputs: ({ preparedCredential, proofReq, params, circuitQueries }: InputContext) => Promise<Uint8Array>;
43
+ private linkedMultiQuery10PrepareInputs;
45
44
  }
46
45
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xpolygonid/js-sdk",
3
- "version": "1.7.4",
3
+ "version": "1.7.5",
4
4
  "description": "SDK to work with Polygon ID",
5
5
  "main": "dist/node/cjs/index.js",
6
6
  "module": "dist/node/esm/index.js",
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LinkedNullifierPubSignals = exports.LinkedNullifierInputs = void 0;
4
- const js_iden3_core_1 = require("@iden3/js-iden3-core");
5
- const utils_1 = require("../utils");
6
- /**
7
- * LinkedNullifier circuit representation
8
- * Inputs and public signals declaration, marshalling and parsing
9
- *
10
- * @beta
11
- * @class LinkedNullifierInputs
12
- */
13
- class LinkedNullifierInputs {
14
- // InputsMarshal returns Circom private inputs for nullifier.circom
15
- inputsMarshal() {
16
- const s = {
17
- linkNonce: this.linkNonce.toString(),
18
- issuerClaim: this.issuerClaim.marshalJson(),
19
- userGenesisID: this.id.bigInt().toString(),
20
- claimSubjectProfileNonce: this.claimSubjectProfileNonce.toString(),
21
- claimSchema: this.issuerClaim.getSchemaHash().bigInt().toString(),
22
- verifierID: this.verifierID?.bigInt().toString() ?? '0',
23
- nullifierSessionID: this.nullifierSessionID.toString()
24
- };
25
- return utils_1.byteEncoder.encode(JSON.stringify(s));
26
- }
27
- }
28
- exports.LinkedNullifierInputs = LinkedNullifierInputs;
29
- // LinkedNullifierPubSignals nullifier.circom public signals
30
- /**
31
- * public signals
32
- *
33
- * @beta
34
- * @class LinkedNullifierPubSignals
35
- */
36
- class LinkedNullifierPubSignals {
37
- /**
38
- * PubSignalsUnmarshal unmarshal nullifier.circom public inputs to LinkedNullifierPubSignals
39
- *
40
- * @beta
41
- * @param {Uint8Array} data
42
- * @returns LinkedNullifierPubSignals
43
- */
44
- pubSignalsUnmarshal(data) {
45
- const len = 4;
46
- const sVals = JSON.parse(utils_1.byteDecoder.decode(data));
47
- if (sVals.length !== len) {
48
- throw new Error(`invalid number of Output values expected ${len} got ${sVals.length}`);
49
- }
50
- this.nullifier = BigInt(sVals[0]);
51
- this.linkID = BigInt(sVals[1]);
52
- this.verifierID = js_iden3_core_1.Id.fromBigInt(BigInt(sVals[2]));
53
- this.nullifierSessionID = BigInt(sVals[3]);
54
- return this;
55
- }
56
- }
57
- exports.LinkedNullifierPubSignals = LinkedNullifierPubSignals;
@@ -1,52 +0,0 @@
1
- import { Id } from '@iden3/js-iden3-core';
2
- import { byteDecoder, byteEncoder } from '../utils';
3
- /**
4
- * LinkedNullifier circuit representation
5
- * Inputs and public signals declaration, marshalling and parsing
6
- *
7
- * @beta
8
- * @class LinkedNullifierInputs
9
- */
10
- export class LinkedNullifierInputs {
11
- // InputsMarshal returns Circom private inputs for nullifier.circom
12
- inputsMarshal() {
13
- const s = {
14
- linkNonce: this.linkNonce.toString(),
15
- issuerClaim: this.issuerClaim.marshalJson(),
16
- userGenesisID: this.id.bigInt().toString(),
17
- claimSubjectProfileNonce: this.claimSubjectProfileNonce.toString(),
18
- claimSchema: this.issuerClaim.getSchemaHash().bigInt().toString(),
19
- verifierID: this.verifierID?.bigInt().toString() ?? '0',
20
- nullifierSessionID: this.nullifierSessionID.toString()
21
- };
22
- return byteEncoder.encode(JSON.stringify(s));
23
- }
24
- }
25
- // LinkedNullifierPubSignals nullifier.circom public signals
26
- /**
27
- * public signals
28
- *
29
- * @beta
30
- * @class LinkedNullifierPubSignals
31
- */
32
- export class LinkedNullifierPubSignals {
33
- /**
34
- * PubSignalsUnmarshal unmarshal nullifier.circom public inputs to LinkedNullifierPubSignals
35
- *
36
- * @beta
37
- * @param {Uint8Array} data
38
- * @returns LinkedNullifierPubSignals
39
- */
40
- pubSignalsUnmarshal(data) {
41
- const len = 4;
42
- const sVals = JSON.parse(byteDecoder.decode(data));
43
- if (sVals.length !== len) {
44
- throw new Error(`invalid number of Output values expected ${len} got ${sVals.length}`);
45
- }
46
- this.nullifier = BigInt(sVals[0]);
47
- this.linkID = BigInt(sVals[1]);
48
- this.verifierID = Id.fromBigInt(BigInt(sVals[2]));
49
- this.nullifierSessionID = BigInt(sVals[3]);
50
- return this;
51
- }
52
- }
@@ -1,37 +0,0 @@
1
- import { Claim, Id } from '@iden3/js-iden3-core';
2
- /**
3
- * LinkedNullifier circuit representation
4
- * Inputs and public signals declaration, marshalling and parsing
5
- *
6
- * @beta
7
- * @class LinkedNullifierInputs
8
- */
9
- export declare class LinkedNullifierInputs {
10
- linkNonce: bigint;
11
- issuerClaim: Claim;
12
- id: Id;
13
- claimSubjectProfileNonce: bigint;
14
- verifierID?: Id;
15
- nullifierSessionID: bigint;
16
- inputsMarshal(): Uint8Array;
17
- }
18
- /**
19
- * public signals
20
- *
21
- * @beta
22
- * @class LinkedNullifierPubSignals
23
- */
24
- export declare class LinkedNullifierPubSignals {
25
- nullifier: bigint;
26
- linkID: bigint;
27
- verifierID: Id;
28
- nullifierSessionID: bigint;
29
- /**
30
- * PubSignalsUnmarshal unmarshal nullifier.circom public inputs to LinkedNullifierPubSignals
31
- *
32
- * @beta
33
- * @param {Uint8Array} data
34
- * @returns LinkedNullifierPubSignals
35
- */
36
- pubSignalsUnmarshal(data: Uint8Array): LinkedNullifierPubSignals;
37
- }