Commit Graph

229 Commits

Author SHA1 Message Date
AtHeartEngineer
480a95ffbe Added Rate Commitment hasher (#46)
Anywhere we are adding/accessing an identity commitment, we need to
replace it with the hash of the identityCommitment and the
userMessageLimit together.

Here is how to use the hasher I added:
```ts
getRateCommitmentHash(
  BigInt(identityCommitment),
  BigInt(room.userMessageLimit ? room.userMessageLimit : 1)
).toString()
```

We need to add this to `addIdentityToIdentityListRooms` and
`addIdentityToBandadaRooms` when users join.

We also need to add this to the `/rooms/:idc` route, where we have to
hash the idc with every rooms `userMessageLimit` to see what rooms they
are in. (OR we can make another database model to map identity
commitments to rooms, this is probably smarter and would prevent someone
from trying to DDOS our server just by requesting what rooms they are
in, hashing takes a decent bit of CPU when you do it a lot).
2023-08-23 19:53:48 -04:00
AtHeartEngineer
dbf2b9add9 Update src/data/db.ts
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-23 19:53:46 -04:00
Tanner Shaw
d0ec4ec831 refactor(RLN) refactored removing identities to also update rate commitments 2023-08-23 18:52:19 -05:00
Tanner Shaw
39bb7b5559 Merge branch 'rate-commitment' of github.com:Discreetly/server into rate-commitment 2023-08-23 18:35:32 -05:00
Tanner Shaw
1ac00d722b feature(express) added route to create codes for many rooms or all rooms 2023-08-23 18:35:25 -05:00
AtHeartEngineer
a1dcba49a7 Refactor seed.ts to include additional room creations 2023-08-23 17:49:52 -04:00
Tanner Shaw
b4cfdf1ef4 fix(interface) small camelcase error 2023-08-23 14:41:18 -05:00
Tanner Shaw
8ac7d850e2 Merge branch 'rate-commitment' of github.com:Discreetly/server into rate-commitment 2023-08-23 14:39:18 -05:00
Tanner Shaw
290f177938 feature(express) added route to generate new codes for rooms 2023-08-23 14:39:11 -05:00
AtHeartEngineer
71db8c69f5 Update "discreetly-interfaces" to version 0.1.37 and add new message field in room endpoint. 2023-08-23 15:11:03 -04:00
Tanner Shaw
0ba8cee207 chore(identities) turned verifier identities back to identities 2023-08-23 13:07:19 -05:00
Tanner Shaw
968ac66a3d refactor(identities) rooms now have semaphoreIdentities and hashed identities 2023-08-23 12:26:46 -05:00
AtHeartEngineer
ac3b728404 Added Rate Commitment hasher 2023-08-23 08:00:52 -04:00
AtHeartEngineer
b866750828 refactor(messages) making createMessage into a promise to resolve pro… (#45)
…ofing and collision issues
2023-08-22 17:54:00 -04:00
Tanner Shaw
9f2bb5185d refactor(messages) making createMessage into a promise to resolve proofing and collision issues 2023-08-22 16:45:20 -05:00
AtHeartEngineer
15a4270582 chore(cleanup) cleaning up console logs (#43) 2023-08-22 15:50:57 -04:00
AtHeartEngineer
942905f654 Merge branch 'main' into clean-up 2023-08-22 15:50:40 -04:00
Tanner Shaw
8be6d53e09 fix(express) await handling joining identity list rooms 2023-08-22 14:29:41 -05:00
AtHeartEngineer
6e2e5906a7 Fix verifier (#44) 2023-08-22 14:57:05 -04:00
AtHeartEngineer
4a75ce181a Merge branch 'main' into fix-verifier 2023-08-22 14:56:45 -04:00
e25052504e fix not checking group root 2023-08-22 14:56:08 -04:00
bb6dd2e2ef fix bigint format 2023-08-22 14:46:47 -04:00
ce87d6cb04 fix signal hash 2023-08-22 14:46:04 -04:00
Tanner Shaw
d102ee5fe5 chore(cleanup) deleting more console logs 2023-08-22 13:40:22 -05:00
Tanner Shaw
0d2524394b chore(cleanup) cleaning up console logs 2023-08-22 13:37:25 -05:00
AtHeartEngineer
967b9fbca0 fix verifier proof type (#42)
The verifier wasn't recognizing the proof type properly
2023-08-22 14:35:50 -04:00
3310a65b82 fix verifier proof type 2023-08-22 14:34:06 -04:00
AtHeartEngineer
aedd1904b7 fix(RLN) check collision (#41)
If the epoch or its messages didn't exist already, it was throwing an
error, so we made a check for that
2023-08-22 14:20:06 -04:00
AtHeartEngineer
dc49ef1742 Merge branch 'main' into collision-fix 2023-08-22 14:19:28 -04:00
Tanner Shaw
43c48c97a9 fix(RLN) check collision 2023-08-22 13:17:14 -05:00
AtHeartEngineer
07c0e01542 Readme Update (#36) 2023-08-22 14:15:49 -04:00
AtHeartEngineer
72c015666a Merge branch 'main' into readme 2023-08-22 14:15:38 -04:00
AtHeartEngineer
9d1f78cd0e Bandada Integration (#35) 2023-08-22 13:30:35 -04:00
0ce3ceb8f9 fixed verifier 2023-08-22 13:18:34 -04:00
9407b2cd9a fix types and linting 2023-08-22 13:16:08 -04:00
Tanner Shaw
edd96b4374 Merge branch 'bandada-integration' of github.com:Discreetly/server into bandada-integration 2023-08-22 12:08:45 -05:00
Tanner Shaw
e7a0754975 refactor(bandada) removed unnessecary functionality 2023-08-22 12:08:37 -05:00
AtHeartEngineer
1336c21c39 Merge branch 'main' into bandada-integration 2023-08-22 12:57:44 -04:00
Tanner Shaw
2d376de372 merge conflicts 2023-08-22 11:19:00 -05:00
Tanner Shaw
452151b990 refactor(bandada) refactored prisma schema to match RoomI interface and routes to match 2023-08-22 11:16:17 -05:00
4ddd6e3d7f feat return more room info depending on membershiptype 2023-08-22 11:39:00 -04:00
Tanner Shaw
52c1ebc9c7 feature(bandada) fetch bandada group by identity commitment 2023-08-22 10:19:46 -05:00
Tanner Shaw
4634bcce7f refactor(bandada) identityCommitments are now also stored in room.identities 2023-08-21 19:05:13 -05:00
Tanner Shaw
1c5b90a21c refactor(bandada) refactored updateRoomIdentities into seperate functions for readability
feature(db utils) added function to ensure an identityCommitment is a valid identityCommitment
2023-08-21 18:20:21 -05:00
Tanner Shaw
4f6543b364 feature(bandada) /join route now checks for membership types
chore(crypto) changed some logic in the verifier that was throwing eslint errors
2023-08-21 17:15:54 -05:00
Tanner Shaw
0fd0a02969 chore(express) fixing eslint errors on routes 2023-08-18 11:58:48 -05:00
AtHeartEngineer
ed37c53986 Handling Messages, System Messages, and Rate Limits (#38) 2023-08-15 22:27:15 -04:00
c810b310c0 refactor(tests) update tests and close app on afterAll; added coverage 2023-08-15 22:21:35 -04:00
8efefe9ea4 feat(data/db): adjust string conversions and field additions
feat(websockets): emit member count to room on join/leave
refactor(messages): improve typings and method calls
refactor(utils): adjust bigint conversions
refactor(data/db): update import syntax and object formations
refactor(crypto/verifier): adjust proof checks and conditionals
chore(dependecies): upgrade discreetly-interfaces version
2023-08-15 22:14:40 -04:00
Tanner Shaw
20486a5530 exported createMessageResult interface 2023-08-15 17:47:26 -05:00