diff --git a/package.json b/package.json index 594c71a..b47038b 100644 --- a/package.json +++ b/package.json @@ -77,4 +77,4 @@ "ts-node": "^10.9.1", "typescript": "^5.1.6" } -} \ No newline at end of file +} diff --git a/src/data/db/create.ts b/src/data/db/create.ts index 8436675..804c54c 100644 --- a/src/data/db/create.ts +++ b/src/data/db/create.ts @@ -148,7 +148,7 @@ export function createMessageInRoom(roomId: string, message: MessageI): Promise< create: { message: message.message ? String(message.message) : '', messageId: message.messageId ? message.messageId.toString() : '', - messageType: message.messageType, + messageType: message.messageType!, proof: JSON.stringify(message.proof), roomId: roomId } diff --git a/src/data/db/update.ts b/src/data/db/update.ts index f192793..0c1a358 100644 --- a/src/data/db/update.ts +++ b/src/data/db/update.ts @@ -177,6 +177,10 @@ export async function addIdentityToIdentityListRooms( } } }); + console.debug( + `Successfully created and added user to Identity List room ${room.roomId}` + ); + addedRooms.push(roomId); } } catch (err) { console.error(err); diff --git a/src/data/messages.ts b/src/data/messages.ts index b287d0c..cd7f15e 100644 --- a/src/data/messages.ts +++ b/src/data/messages.ts @@ -1,6 +1,6 @@ -import { createMessageInRoom, findRoomWithMessageId, removeIdentityFromRoom } from './db/'; +import { createMessageInRoom, findRoomWithMessageId } from './db/'; import { MessageI, RoomI } from 'discreetly-interfaces'; -import { shamirRecovery, getIdentityCommitmentFromSecret } from '../crypto/shamirRecovery'; +import { shamirRecovery } from '../crypto/shamirRecovery'; import { RLNFullProof } from 'rlnjs'; import { verifyProof } from '../crypto/'; diff --git a/src/endpoints/gateways/theWord.ts b/src/endpoints/gateways/theWord.ts index 3b2498c..6d7ad72 100644 --- a/src/endpoints/gateways/theWord.ts +++ b/src/endpoints/gateways/theWord.ts @@ -3,10 +3,10 @@ import type { Request, Response } from 'express'; import { PrismaClient } from '@prisma/client'; import { limiter } from '../middleware'; import asyncHandler from 'express-async-handler'; -import { SNARKProof } from '../../types'; import { verifyTheWordProof } from '../../gateways/theWord/verifier'; import { addIdentityToIdentityListRooms } from '../../data/db'; import { RoomI } from 'discreetly-interfaces'; +import { SNARKProof } from 'idc-nullifier'; const router = express.Router(); const prisma = new PrismaClient(); @@ -23,25 +23,24 @@ router.post( '/join', limiter, asyncHandler(async (req: Request, res: Response) => { - const { proof, idc } = req.body as { proof: SNARKProof; idc: string }; - + const { proof, idc } = req.body as { proof: SNARKProof, idc: string }; const isValid = await verifyTheWordProof(proof); if (isValid) { - const room = (await prisma.rooms.findUnique({ + const room = await prisma.rooms.findUnique({ where: { roomId: '007' + process.env.THEWORD_ITERATION } - })) as RoomI; + }) as RoomI; const addedRoom = await addIdentityToIdentityListRooms([room], idc); if (addedRoom.length === 0) { res.status(500).json({ status: 'already-added', - message: 'Identity already added to room' + roomIds: [] }); } else { res.status(200).json({ status: 'valid', - roomId: room.roomId + roomIds: [room.roomId] }); } } else { diff --git a/src/endpoints/rooms/rooms.ts b/src/endpoints/rooms/rooms.ts index fb6ef2d..ea08523 100644 --- a/src/endpoints/rooms/rooms.ts +++ b/src/endpoints/rooms/rooms.ts @@ -1,15 +1,15 @@ import express from 'express'; import type { Request, Response } from 'express'; import { limiter } from '../middleware'; -import asyncHandler from 'express-async-handler'; +// import asyncHandler from 'express-async-handler'; import { PrismaClient } from '@prisma/client'; -import { verifyIdentityProof } from '../../crypto/idcVerifier/verifier'; +// import { verifyIdentityProof } from '../../crypto/idcVerifier/verifier'; import { pp } from '../../utils'; -import { IDCProof } from 'idc-nullifier/dist/types/types'; +// import { IDCProof } from 'idc-nullifier/dist/types/types'; import { addRoomData } from '../../types'; import { findRoomById, - findRoomsByIdentity, + // findRoomsByIdentity, createRoom, removeRoom, removeMessage diff --git a/src/gateways/theWord/verifier.ts b/src/gateways/theWord/verifier.ts index 6c12520..5414209 100644 --- a/src/gateways/theWord/verifier.ts +++ b/src/gateways/theWord/verifier.ts @@ -1,11 +1,10 @@ -import { SNARKProof } from '../../types'; import { groth16 } from 'snarkjs'; import vkey from './vkey'; +import { SNARKProof } from 'idc-nullifier'; export async function verifyTheWordProof(proof: SNARKProof): Promise { - const isValid = groth16.verify(vkey, proof.publicSignals, proof.proof); return isValid;