@@ -4,11 +4,12 @@ import { formatAddress } from '../external-apis/InjectedWeb3API';
4
4
import { log } from '../shared/log' ;
5
5
import { Session } from './Session' ;
6
6
import { v4 as uuidv4 } from 'uuid' ;
7
+ import { ProfileRegistryEntry } from '../account/Account' ;
7
8
8
- export function submitPublicKeys (
9
+ export function submitProfileRegistryEntry (
9
10
sessions : Map < string , Session > ,
10
11
accountAddress : string ,
11
- publicKeys : PublicKeys ,
12
+ profileRegistryEntry : ProfileRegistryEntry ,
12
13
signature : string ,
13
14
pendingConversations : Map < string , Set < string > > ,
14
15
send : ( socketId : string ) => void ,
@@ -17,21 +18,19 @@ export function submitPublicKeys(
17
18
const account = formatAddress ( accountAddress ) ;
18
19
19
20
const recoveredAddress = ethers . utils . recoverAddress (
20
- ethers . utils . hashMessage (
21
- publicKeys . publicKey +
22
- publicKeys . publicMessagingKey +
23
- publicKeys . publicSigningKey ,
24
- ) ,
21
+ ethers . utils . hashMessage ( JSON . stringify ( profileRegistryEntry ) ) ,
25
22
signature ,
26
23
) ;
27
24
28
25
if ( formatAddress ( recoveredAddress ) === account ) {
29
- const session = sessions . has ( account )
30
- ? ( sessions . get ( account ) as Session )
31
- : { account } ;
32
- session . keys = publicKeys ;
33
- session . token = uuidv4 ( ) ;
34
- session . pubKeySignature = signature ;
26
+ const session : Session = {
27
+ ...( sessions . has ( account ) ? sessions . get ( account ) ! : { } ) ,
28
+ account,
29
+ profileRegistryEntry : profileRegistryEntry ,
30
+ token : uuidv4 ( ) ,
31
+ profileRegistryEntrySignature : signature ,
32
+ } ;
33
+
35
34
sessions . set ( account , session ) ;
36
35
const pending = pendingConversations . get ( account ) ;
37
36
if ( pending ) {
@@ -46,29 +45,26 @@ export function submitPublicKeys(
46
45
}
47
46
return session . token ;
48
47
} else {
48
+ log ( `- Invalid signature` ) ;
49
49
throw Error ( 'Signature invalid.' ) ;
50
50
}
51
51
}
52
52
53
- export function getPublicKeys (
53
+ export function getProfileRegistryEntry (
54
54
sessions : Map < string , Session > ,
55
55
accountAddress : string ,
56
- ) : Partial < { publicKeys : PublicKeys | undefined ; signature : string } > {
57
- log ( `[getPublicKeys] for account ${ accountAddress } ` ) ;
56
+ ) :
57
+ | { profileRegistryEntry : ProfileRegistryEntry ; signature : string }
58
+ | undefined {
59
+ log ( `[getProfileRegistryEntry] for account ${ accountAddress } ` ) ;
58
60
const account = formatAddress ( accountAddress ) ;
59
-
60
- if ( sessions . get ( account ) ?. keys ) {
61
+ const session = sessions . get ( account ) ;
62
+ if ( session ) {
61
63
return {
62
- publicKeys : {
63
- publicMessagingKey :
64
- sessions . get ( account ) ?. keys ! . publicMessagingKey ! ,
65
- publicSigningKey :
66
- sessions . get ( account ) ?. keys ! . publicSigningKey ! ,
67
- publicKey : sessions . get ( account ) ?. keys ! . publicKey ! ,
68
- } ,
69
- signature : sessions . get ( account ) ?. pubKeySignature ,
64
+ profileRegistryEntry : session . profileRegistryEntry ,
65
+ signature : session . profileRegistryEntrySignature ,
70
66
} ;
71
67
} else {
72
- return { } ;
68
+ return ;
73
69
}
74
70
}
0 commit comments