@0xpolygonid/js-sdk 1.35.7 → 1.35.8
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/browser/esm/index.js +10 -20
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/browser/umd/index.global.js +1 -1
- package/dist/browser/umd/index.global.js.map +1 -1
- package/dist/node/cjs/index.cjs +10 -20
- package/dist/node/cjs/index.cjs.map +1 -1
- package/dist/node/esm/index.js +10 -20
- package/dist/node/esm/index.js.map +1 -1
- package/dist/types/proof/verifiers/pub-signals-verifier.d.ts +0 -3
- package/dist/types/proof/verifiers/pub-signals-verifier.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/proof/verifiers/pub-signals-verifier.ts +16 -26
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Id } from '@iden3/js-iden3-core';
|
|
2
1
|
import { DocumentLoader } from '@iden3/js-jsonld-merklization';
|
|
3
2
|
import { IStateStorage } from '../../storage';
|
|
4
3
|
import { ProofQuery } from '../../verifiable';
|
|
@@ -27,8 +26,6 @@ export declare const userStateError: Error;
|
|
|
27
26
|
export declare class PubSignalsVerifier {
|
|
28
27
|
private readonly _documentLoader;
|
|
29
28
|
private readonly _stateStorage;
|
|
30
|
-
userId: Id;
|
|
31
|
-
challenge: bigint;
|
|
32
29
|
/**
|
|
33
30
|
* Creates an instance of PubSignalsVerifier.
|
|
34
31
|
* @param {DocumentLoader} _documentLoader document loader
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pub-signals-verifier.d.ts","sourceRoot":"","sources":["../../../../src/proof/verifiers/pub-signals-verifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pub-signals-verifier.d.ts","sourceRoot":"","sources":["../../../../src/proof/verifiers/pub-signals-verifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA2B,MAAM,+BAA+B,CAAC;AAExF,OAAO,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AAEnE,OAAO,EAA2B,UAAU,EAAa,MAAM,kBAAkB,CAAC;AAKlF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD,OAAO,EAGL,UAAU,EAUX,MAAM,SAAS,CAAC;AAKjB,OAAO,EAEL,UAAU,EACV,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAGzB;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,cAAc,OAAuC,CAAC;AAGnE;;;;GAIG;AACH,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC;;;;OAIG;gBAGgB,eAAe,EAAE,cAAc,EAC/B,aAAa,EAAE,aAAa;IAG/C;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAWxE,OAAO,CAAC,gCAAgC,CA6DtC;IAEF,OAAO,CAAC,gCAAgC,CAkDtC;IAEF,OAAO,CAAC,6BAA6B,CAgKnC;IAEF,OAAO,CAAC,YAAY,CA+BlB;IAEF,OAAO,CAAC,wBAAwB,CAyF9B;IAEF,OAAO,CAAC,iBAAiB,CAiBvB;YAEY,oBAAoB;YAqEpB,OAAO;YAoDP,WAAW;IAqCzB,OAAO,CAAC,wBAAwB,CAE9B;IAEF,OAAO,CAAC,gBAAgB,CAQtB;IAEF,OAAO,CAAC,yBAAyB,CAS/B;IAEF,OAAO,CAAC,oBAAoB,CAqB1B;CACH"}
|
package/package.json
CHANGED
|
@@ -63,9 +63,6 @@ const zeroInt = 0n;
|
|
|
63
63
|
* @class PubSignalsVerifier
|
|
64
64
|
*/
|
|
65
65
|
export class PubSignalsVerifier {
|
|
66
|
-
userId!: Id;
|
|
67
|
-
challenge!: bigint;
|
|
68
|
-
|
|
69
66
|
/**
|
|
70
67
|
* Creates an instance of PubSignalsVerifier.
|
|
71
68
|
* @param {DocumentLoader} _documentLoader document loader
|
|
@@ -116,9 +113,6 @@ export class PubSignalsVerifier {
|
|
|
116
113
|
throw new Error('requestId is not presented in proof public signals');
|
|
117
114
|
}
|
|
118
115
|
|
|
119
|
-
this.userId = mtpv2PubSignals.userID;
|
|
120
|
-
this.challenge = mtpv2PubSignals.requestID;
|
|
121
|
-
|
|
122
116
|
// verify query
|
|
123
117
|
const outs: ClaimOutputs = {
|
|
124
118
|
issuerId: mtpv2PubSignals.issuerID,
|
|
@@ -157,7 +151,7 @@ export class PubSignalsVerifier {
|
|
|
157
151
|
}
|
|
158
152
|
|
|
159
153
|
// verify ID ownership
|
|
160
|
-
this.verifyIdOwnership(sender, challenge);
|
|
154
|
+
this.verifyIdOwnership(sender, challenge, mtpv2PubSignals.userID, mtpv2PubSignals.requestID);
|
|
161
155
|
return mtpv2PubSignals;
|
|
162
156
|
};
|
|
163
157
|
|
|
@@ -174,9 +168,6 @@ export class PubSignalsVerifier {
|
|
|
174
168
|
byteEncoder.encode(JSON.stringify(pubSignals))
|
|
175
169
|
);
|
|
176
170
|
|
|
177
|
-
this.userId = sigV2PubSignals.userID;
|
|
178
|
-
this.challenge = sigV2PubSignals.requestID;
|
|
179
|
-
|
|
180
171
|
// verify query
|
|
181
172
|
const outs: ClaimOutputs = {
|
|
182
173
|
issuerId: sigV2PubSignals.issuerID,
|
|
@@ -211,7 +202,7 @@ export class PubSignalsVerifier {
|
|
|
211
202
|
);
|
|
212
203
|
}
|
|
213
204
|
// verify Id ownership
|
|
214
|
-
this.verifyIdOwnership(sender, challenge);
|
|
205
|
+
this.verifyIdOwnership(sender, challenge, sigV2PubSignals.userID, sigV2PubSignals.requestID);
|
|
215
206
|
|
|
216
207
|
return sigV2PubSignals;
|
|
217
208
|
};
|
|
@@ -228,9 +219,6 @@ export class PubSignalsVerifier {
|
|
|
228
219
|
let v3PubSignals = new AtomicQueryV3PubSignals();
|
|
229
220
|
v3PubSignals = v3PubSignals.pubSignalsUnmarshal(byteEncoder.encode(JSON.stringify(pubSignals)));
|
|
230
221
|
|
|
231
|
-
this.userId = v3PubSignals.userID;
|
|
232
|
-
this.challenge = v3PubSignals.requestID;
|
|
233
|
-
|
|
234
222
|
// verify query
|
|
235
223
|
const outs: ClaimOutputs = {
|
|
236
224
|
issuerId: v3PubSignals.issuerID,
|
|
@@ -375,8 +363,8 @@ export class PubSignalsVerifier {
|
|
|
375
363
|
opts
|
|
376
364
|
);
|
|
377
365
|
}
|
|
378
|
-
|
|
379
|
-
this.verifyIdOwnership(sender, challenge);
|
|
366
|
+
// verify Id ownership
|
|
367
|
+
this.verifyIdOwnership(sender, challenge, v3PubSignals.userID, v3PubSignals.requestID);
|
|
380
368
|
|
|
381
369
|
return v3PubSignals;
|
|
382
370
|
};
|
|
@@ -392,12 +380,9 @@ export class PubSignalsVerifier {
|
|
|
392
380
|
byteEncoder.encode(JSON.stringify(pubSignals))
|
|
393
381
|
);
|
|
394
382
|
|
|
395
|
-
this.userId = authV2PubSignals.userID;
|
|
396
|
-
this.challenge = authV2PubSignals.challenge;
|
|
397
|
-
|
|
398
383
|
// no query verification
|
|
399
384
|
// verify state
|
|
400
|
-
const gist = await this.checkGlobalState(authV2PubSignals.GISTRoot,
|
|
385
|
+
const gist = await this.checkGlobalState(authV2PubSignals.GISTRoot, authV2PubSignals.userID);
|
|
401
386
|
|
|
402
387
|
let acceptedStateTransitionDelay = PROTOCOL_CONSTANTS.DEFAULT_AUTH_VERIFY_DELAY;
|
|
403
388
|
if (opts?.acceptedStateTransitionDelay) {
|
|
@@ -413,7 +398,7 @@ export class PubSignalsVerifier {
|
|
|
413
398
|
}
|
|
414
399
|
|
|
415
400
|
// verify Id ownership
|
|
416
|
-
this.verifyIdOwnership(sender, challenge);
|
|
401
|
+
this.verifyIdOwnership(sender, challenge, authV2PubSignals.userID, authV2PubSignals.challenge);
|
|
417
402
|
return new BaseConfig();
|
|
418
403
|
};
|
|
419
404
|
|
|
@@ -508,16 +493,21 @@ export class PubSignalsVerifier {
|
|
|
508
493
|
return multiQueryPubSignals as unknown as BaseConfig;
|
|
509
494
|
};
|
|
510
495
|
|
|
511
|
-
private verifyIdOwnership = (
|
|
496
|
+
private verifyIdOwnership = (
|
|
497
|
+
sender: string,
|
|
498
|
+
challenge: bigint,
|
|
499
|
+
expectedUserId: Id,
|
|
500
|
+
expectedChallenge: bigint
|
|
501
|
+
): void => {
|
|
512
502
|
const senderId = DID.idFromDID(DID.parse(sender));
|
|
513
|
-
if (senderId.string() !==
|
|
503
|
+
if (senderId.string() !== expectedUserId.string()) {
|
|
514
504
|
throw new Error(
|
|
515
|
-
`sender id is not used for proof creation, expected ${sender}, user from public signals: ${
|
|
505
|
+
`sender id is not used for proof creation, expected ${sender}, user from public signals: ${expectedUserId.string()}`
|
|
516
506
|
);
|
|
517
507
|
}
|
|
518
|
-
if (challenge !==
|
|
508
|
+
if (challenge !== expectedChallenge) {
|
|
519
509
|
throw new Error(
|
|
520
|
-
`challenge is not used for proof creation, expected ${challenge}, challenge from public signals: ${
|
|
510
|
+
`challenge is not used for proof creation, expected ${challenge}, challenge from public signals: ${expectedChallenge} `
|
|
521
511
|
);
|
|
522
512
|
}
|
|
523
513
|
};
|