Skip to content

Commit 09a5c8d

Browse files
add more tessts
1 parent 3a84281 commit 09a5c8d

4 files changed

+135
-2
lines changed

test/cyan.test.ts

+46
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,52 @@ describe("torus utils cyan", function () {
207207
});
208208
});
209209

210+
it("should be able to login without commitments", async function () {
211+
const token = generateIdToken(TORUS_TEST_EMAIL, "ES256");
212+
const verifierDetails = { verifier: TORUS_TEST_VERIFIER, verifierId: TORUS_TEST_EMAIL };
213+
const { torusNodeEndpoints, torusIndexes, torusNodePub } = await TORUS_NODE_MANAGER.getNodeDetails(verifierDetails);
214+
const result = await torus.retrieveShares(
215+
getRetrieveSharesParams(
216+
torusNodeEndpoints,
217+
torusIndexes,
218+
TORUS_TEST_VERIFIER,
219+
{ verifier_id: TORUS_TEST_EMAIL },
220+
token,
221+
torusNodePub,
222+
{},
223+
true,
224+
false
225+
)
226+
);
227+
delete result.sessionData;
228+
expect(result.metadata.serverTimeOffset).lessThan(20);
229+
230+
delete result.metadata.serverTimeOffset;
231+
232+
expect(result.finalKeyData.privKey).to.be.equal("5db51619684b32a2ff2375b4c03459d936179dfba401cb1c176b621e8a2e4ac8");
233+
expect(result).eql({
234+
finalKeyData: {
235+
X: "e2ed6033951af2851d1bea98799e62fb1ff24b952c1faea17922684678ba42d1",
236+
Y: "beef0efad88e81385952c0068ca48e8b9c2121be87cb0ddf18a68806db202359",
237+
walletAddress: "0xC615aA03Dd8C9b2dc6F7c43cBDfF2c34bBa47Ec9",
238+
privKey: "5db51619684b32a2ff2375b4c03459d936179dfba401cb1c176b621e8a2e4ac8",
239+
},
240+
oAuthKeyData: {
241+
X: "e2ed6033951af2851d1bea98799e62fb1ff24b952c1faea17922684678ba42d1",
242+
Y: "beef0efad88e81385952c0068ca48e8b9c2121be87cb0ddf18a68806db202359",
243+
walletAddress: "0xC615aA03Dd8C9b2dc6F7c43cBDfF2c34bBa47Ec9",
244+
privKey: "5db51619684b32a2ff2375b4c03459d936179dfba401cb1c176b621e8a2e4ac8",
245+
},
246+
postboxKeyData: {
247+
X: "e2ed6033951af2851d1bea98799e62fb1ff24b952c1faea17922684678ba42d1",
248+
Y: "beef0efad88e81385952c0068ca48e8b9c2121be87cb0ddf18a68806db202359",
249+
privKey: "5db51619684b32a2ff2375b4c03459d936179dfba401cb1c176b621e8a2e4ac8",
250+
},
251+
metadata: { pubNonce: undefined, nonce: new BN(0), typeOfUser: "v1", upgraded: null },
252+
nodesData: result.nodesData,
253+
});
254+
});
255+
210256
it("should be able to aggregate login", async function () {
211257
const idToken = generateIdToken(TORUS_TEST_EMAIL, "ES256");
212258
const hashedIdToken = keccak256(Buffer.from(idToken, "utf8"));

test/sapphire_devnet.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const TORUS_TEST_VERIFIER = "torus-test-health";
2121
const TORUS_TEST_AGGREGATE_VERIFIER = "torus-test-health-aggregate";
2222
const HashEnabledVerifier = "torus-test-verifierid-hash";
2323

24-
describe.only("torus utils sapphire devnet", function () {
24+
describe("torus utils sapphire devnet", function () {
2525
let torus: TorusUtils;
2626
let TORUS_NODE_MANAGER: NodeDetailManager;
2727

test/sapphire_mainnet.test.ts

+87
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,60 @@ describe("torus utils sapphire mainnet", function () {
337337
});
338338
});
339339

340+
it("should be able to login without commitments", async function () {
341+
const token = generateIdToken(TORUS_TEST_EMAIL, "ES256");
342+
const verifierDetails = { verifier: TORUS_TEST_VERIFIER, verifierId: TORUS_TEST_EMAIL };
343+
const { torusNodeEndpoints, torusIndexes, torusNodePub } = await TORUS_NODE_MANAGER.getNodeDetails(verifierDetails);
344+
const result = await torus.retrieveShares(
345+
getRetrieveSharesParams(
346+
torusNodeEndpoints,
347+
torusIndexes,
348+
TORUS_TEST_VERIFIER,
349+
{ verifier_id: TORUS_TEST_EMAIL },
350+
token,
351+
torusNodePub,
352+
{},
353+
true,
354+
false
355+
)
356+
);
357+
expect(result.finalKeyData.privKey).to.be.equal("dfb39b84e0c64b8c44605151bf8670ae6eda232056265434729b6a8a50fa3419");
358+
expect(result.metadata.serverTimeOffset).lessThan(20);
359+
360+
delete result.metadata.serverTimeOffset;
361+
362+
expect(result).eql({
363+
finalKeyData: {
364+
walletAddress: "0x70520A7F04868ACad901683699Fa32765C9F6871",
365+
X: "adff099b5d3b1e238b43fba1643cfa486e8d9e8de22c1e6731d06a5303f9025b",
366+
Y: "21060328e7889afd303acb63201b6493e3061057d1d81279931ab4a6cabf94d4",
367+
privKey: "dfb39b84e0c64b8c44605151bf8670ae6eda232056265434729b6a8a50fa3419",
368+
},
369+
oAuthKeyData: {
370+
walletAddress: "0x925c97404F1aBdf4A8085B93edC7B9F0CEB3C673",
371+
X: "5cd8625fc01c7f7863a58c914a8c43b2833b3d0d5059350bab4acf6f4766a33d",
372+
Y: "198a4989615c5c2c7fa4d49c076ea7765743d09816bb998acb9ff54f5db4a391",
373+
privKey: "90a219ac78273e82e36eaa57c15f9070195e436644319d6b9aea422bb4d31906",
374+
},
375+
postboxKeyData: {
376+
X: "5cd8625fc01c7f7863a58c914a8c43b2833b3d0d5059350bab4acf6f4766a33d",
377+
Y: "198a4989615c5c2c7fa4d49c076ea7765743d09816bb998acb9ff54f5db4a391",
378+
privKey: "90a219ac78273e82e36eaa57c15f9070195e436644319d6b9aea422bb4d31906",
379+
},
380+
sessionData: { sessionTokenData: result.sessionData.sessionTokenData, sessionAuthKey: result.sessionData.sessionAuthKey },
381+
metadata: {
382+
pubNonce: {
383+
X: "ab4d287c263ab1bb83c37646d0279764e50fe4b0c34de4da113657866ddcf318",
384+
Y: "ad35db2679dfad4b62d77cf753d7b98f73c902e5d101cc2c3c1209ece6d94382",
385+
},
386+
nonce: new BN("4f1181d8689f0d0960f1a6f9fe26e03e557bdfba11f4b6c8d7b1285e9c271b13", "hex"),
387+
typeOfUser: "v2",
388+
upgraded: false,
389+
},
390+
nodesData: result.nodesData,
391+
});
392+
});
393+
340394
it("should be able to aggregate login", async function () {
341395
const email = faker.internet.email();
342396
const idToken = generateIdToken(email, "ES256");
@@ -367,6 +421,39 @@ describe("torus utils sapphire mainnet", function () {
367421
expect(result.metadata.upgraded).to.equal(false);
368422
});
369423

424+
it("should be able to aggregate login without commitment", async function () {
425+
const email = faker.internet.email();
426+
const idToken = generateIdToken(email, "ES256");
427+
const hashedIdToken = keccak256(Buffer.from(idToken, "utf8"));
428+
const verifierDetails = { verifier: TORUS_TEST_AGGREGATE_VERIFIER, verifierId: email };
429+
430+
const nodeDetails = await TORUS_NODE_MANAGER.getNodeDetails(verifierDetails);
431+
const torusNodeEndpoints = nodeDetails.torusNodeSSSEndpoints;
432+
const result = await torus.retrieveShares(
433+
getRetrieveSharesParams(
434+
torusNodeEndpoints,
435+
nodeDetails.torusIndexes,
436+
TORUS_TEST_AGGREGATE_VERIFIER,
437+
{
438+
verify_params: [{ verifier_id: email, idtoken: idToken }],
439+
sub_verifier_ids: [TORUS_TEST_VERIFIER],
440+
verifier_id: email,
441+
},
442+
hashedIdToken.substring(2),
443+
nodeDetails.torusNodePub,
444+
{},
445+
true,
446+
false
447+
)
448+
);
449+
expect(result.finalKeyData.walletAddress).to.not.equal(null);
450+
expect(result.finalKeyData.walletAddress).to.not.equal("");
451+
expect(result.oAuthKeyData.walletAddress).to.not.equal(null);
452+
expect(result.metadata.typeOfUser).to.equal("v2");
453+
expect(result.metadata.nonce).to.not.equal(null);
454+
expect(result.metadata.upgraded).to.equal(false);
455+
});
456+
370457
it("should be able to update the `sessionTime` of the token signature data", async function () {
371458
const email = faker.internet.email();
372459
const token = generateIdToken(TORUS_TEST_EMAIL, "ES256");

test/testnet.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const TORUS_TEST_EMAIL = "[email protected]";
1414
const TORUS_TEST_VERIFIER = "torus-test-health";
1515
const TORUS_TEST_AGGREGATE_VERIFIER = "torus-test-health-aggregate";
1616

17-
describe.only("torus utils migrated testnet on sapphire", function () {
17+
describe("torus utils migrated testnet on sapphire", function () {
1818
let torus: TorusUtils;
1919
let TORUS_NODE_MANAGER: NodeDetailManager;
2020

0 commit comments

Comments
 (0)