@@ -134,37 +134,13 @@ function AuthenticateComponent() {
134134 const accountAddress = useSelector ( StoreConnect . store , ( state ) => state . context . accountAddress ) ;
135135 const keys = useSelector ( StoreConnect . store , ( state ) => state . context . keys ) ;
136136
137- const { signMessage } = usePrivy ( ) ;
138137 const { wallets } = useWallets ( ) ;
139138 const embeddedWallet = wallets . find ( ( wallet ) => wallet . walletClientType === 'privy' ) || wallets [ 0 ] ;
140139
141140 const state = useSelector ( componentStore , ( state ) => state . context ) ;
142141
143142 const { isPending : privateSpacesPending , error : privateSpacesError , data : privateSpacesData } = usePrivateSpaces ( ) ;
144- const {
145- isPending : publicSpacesPending ,
146- error : publicSpacesError ,
147- data : publicSpacesData ,
148- } = usePublicSpaces ( import . meta. env . VITE_HYPERGRAPH_API_URL ) ;
149-
150- const selectedPrivateSpaces = new Set < string > ( ) ;
151- const selectedPublicSpaces = new Set < string > ( ) ;
152-
153- const handlePrivateSpaceToggle = ( spaceId : string , checked : boolean ) => {
154- if ( checked ) {
155- selectedPrivateSpaces . add ( spaceId ) ;
156- } else {
157- selectedPrivateSpaces . delete ( spaceId ) ;
158- }
159- } ;
160-
161- const handlePublicSpaceToggle = ( spaceId : string , checked : boolean ) => {
162- if ( checked ) {
163- selectedPublicSpaces . add ( spaceId ) ;
164- } else {
165- selectedPublicSpaces . delete ( spaceId ) ;
166- }
167- } ;
143+ const { data : publicSpacesData } = usePublicSpaces ( import . meta. env . VITE_HYPERGRAPH_API_URL ) ;
168144
169145 useEffect ( ( ) => {
170146 const run = async ( ) => {
@@ -351,21 +327,6 @@ function AuthenticateComponent() {
351327 transport : custom ( privyProvider ) ,
352328 } ) ;
353329
354- const signer : Identity . Signer = {
355- getAddress : async ( ) => {
356- const [ address ] = await walletClient . getAddresses ( ) ;
357- return address ;
358- } ,
359- signMessage : async ( message : string ) => {
360- if ( embeddedWallet . walletClientType === 'privy' ) {
361- const { signature } = await signMessage ( { message } ) ;
362- return signature ;
363- }
364- const [ address ] = await walletClient . getAddresses ( ) ;
365- return await walletClient . signMessage ( { account : address , message } ) ;
366- } ,
367- } ;
368-
369330 const newAppIdentity = Connect . createAppIdentity ( ) ;
370331
371332 console . log ( 'creating smart session' ) ;
@@ -405,25 +366,13 @@ function AuthenticateComponent() {
405366 rpcUrl : import . meta. env . VITE_HYPERGRAPH_RPC_URL ,
406367 } ) ;
407368
408- const appIdentityKeys = {
409- encryptionPrivateKey : newAppIdentity . encryptionPrivateKey ,
410- encryptionPublicKey : newAppIdentity . encryptionPublicKey ,
411- signaturePrivateKey : newAppIdentity . signaturePrivateKey ,
412- signaturePublicKey : newAppIdentity . signaturePublicKey ,
413- } ;
414369 console . log ( 'encrypting app identity' ) ;
415- const { ciphertext, nonce } = await Connect . encryptAppIdentity (
416- signer ,
417- newAppIdentity . address ,
418- newAppIdentity . addressPrivateKey ,
419- permissionId ,
420- appIdentityKeys ,
421- ) ;
370+ const { ciphertext } = await Connect . encryptAppIdentity ( { ...newAppIdentity , permissionId } , keys ) ;
422371 console . log ( 'proving ownership' ) ;
423372 const { accountProof, keyProof } = await Identity . proveIdentityOwnership (
424373 smartAccountClient ,
425374 accountAddress ,
426- appIdentityKeys ,
375+ newAppIdentity ,
427376 ) ;
428377
429378 const message : Messages . RequestConnectCreateAppIdentity = {
@@ -433,7 +382,6 @@ function AuthenticateComponent() {
433382 signaturePublicKey : newAppIdentity . signaturePublicKey ,
434383 encryptionPublicKey : newAppIdentity . encryptionPublicKey ,
435384 ciphertext,
436- nonce,
437385 accountProof,
438386 keyProof,
439387 } ;
@@ -476,48 +424,16 @@ function AuthenticateComponent() {
476424 } ;
477425
478426 const decryptAppIdentityAndRedirect = async ( ) => {
479- if ( ! state . appIdentityResponse ) {
427+ if ( ! state . appIdentityResponse || ! keys ) {
480428 return ;
481429 }
482430
483- const privyProvider = await embeddedWallet . getEthereumProvider ( ) ;
484- const walletClient = createWalletClient ( {
485- account : embeddedWallet . address as `0x${string } `,
486- chain : CHAIN ,
487- transport : custom ( privyProvider ) ,
488- } ) ;
489-
490- const signer : Identity . Signer = {
491- getAddress : async ( ) => {
492- const [ address ] = await walletClient . getAddresses ( ) ;
493- return address ;
494- } ,
495- signMessage : async ( message : string ) => {
496- if ( embeddedWallet . walletClientType === 'privy' ) {
497- const { signature } = await signMessage ( { message } ) ;
498- return signature ;
499- }
500- const [ address ] = await walletClient . getAddresses ( ) ;
501- return await walletClient . signMessage ( { account : address , message } ) ;
502- } ,
503- } ;
504-
505- const decryptedIdentity = await Connect . decryptAppIdentity (
506- signer ,
507- state . appIdentityResponse . ciphertext ,
508- state . appIdentityResponse . nonce ,
509- ) ;
431+ const decryptedIdentity = await Connect . decryptAppIdentity ( state . appIdentityResponse . ciphertext , keys ) ;
510432 await encryptSpacesAndRedirect ( {
511433 accountAddress : state . appIdentityResponse . accountAddress ,
512434 appIdentity : {
513- address : decryptedIdentity . address ,
514- addressPrivateKey : decryptedIdentity . addressPrivateKey ,
435+ ...decryptedIdentity ,
515436 accountAddress : state . appIdentityResponse . accountAddress ,
516- permissionId : decryptedIdentity . permissionId ,
517- encryptionPrivateKey : decryptedIdentity . encryptionPrivateKey ,
518- signaturePrivateKey : decryptedIdentity . signaturePrivateKey ,
519- encryptionPublicKey : decryptedIdentity . encryptionPublicKey ,
520- signaturePublicKey : decryptedIdentity . signaturePublicKey ,
521437 sessionToken : state . appIdentityResponse . sessionToken ,
522438 sessionTokenExpires : new Date ( state . appIdentityResponse . sessionTokenExpires ) ,
523439 } ,
0 commit comments