@@ -31,7 +31,8 @@ export async function signup(
3131 smartAccountClient : SmartAccountClient ,
3232 accountAddress : Address ,
3333 syncServerUri : string ,
34- storage : Storage ,
34+ addressStorage : Storage ,
35+ keysStorage : Storage ,
3536 identityToken : string ,
3637 chain : Chain ,
3738 rpcUrl : string ,
@@ -74,8 +75,8 @@ export async function signup(
7475 if ( ! decoded . success ) {
7576 throw new Error ( 'Error creating identity' ) ;
7677 }
77- storeKeys ( storage , accountAddress , keys ) ;
78- storeAccountAddress ( storage , accountAddress ) ;
78+ storeKeys ( keysStorage , accountAddress , keys ) ;
79+ storeAccountAddress ( addressStorage , accountAddress ) ;
7980 return {
8081 accountAddress,
8182 keys,
@@ -86,7 +87,8 @@ export async function restoreKeys(
8687 signer : Signer ,
8788 accountAddress : Address ,
8889 syncServerUri : string ,
89- storage : Storage ,
90+ addressStorage : Storage ,
91+ keysStorage : Storage ,
9092 identityToken : string ,
9193) {
9294 const res = await fetch ( new URL ( '/connect/identity/encrypted' , syncServerUri ) , {
@@ -103,8 +105,8 @@ export async function restoreKeys(
103105 const { keyBox } = decoded ;
104106 const { ciphertext, nonce } = keyBox ;
105107 const keys = await decryptIdentity ( signer , ciphertext , nonce ) ;
106- storeKeys ( storage , accountAddress , keys ) ;
107- storeAccountAddress ( storage , accountAddress ) ;
108+ storeKeys ( keysStorage , accountAddress , keys ) ;
109+ storeAccountAddress ( addressStorage , accountAddress ) ;
108110 return {
109111 accountAddress,
110112 keys,
@@ -113,8 +115,13 @@ export async function restoreKeys(
113115 throw new Error ( `Error fetching identity ${ res . status } ` ) ;
114116}
115117
116- const getAndUpdateSmartAccount = async ( walletClient : WalletClient , rpcUrl : string , chain : Chain , storage : Storage ) => {
117- const accountAddressFromStorage = loadAccountAddress ( storage ) as Hex ;
118+ const getAndUpdateSmartAccount = async (
119+ walletClient : WalletClient ,
120+ rpcUrl : string ,
121+ chain : Chain ,
122+ addressStorage : Storage ,
123+ ) => {
124+ const accountAddressFromStorage = loadAccountAddress ( addressStorage ) as Hex ;
118125 const smartAccountParams : SmartAccountParams = {
119126 owner : walletClient ,
120127 rpcUrl,
@@ -145,25 +152,27 @@ export async function login({
145152 walletClient,
146153 signer,
147154 syncServerUri,
148- storage,
155+ addressStorage,
156+ keysStorage,
149157 identityToken,
150158 rpcUrl,
151159 chain,
152160} : {
153161 walletClient : WalletClient ;
154162 signer : Signer ;
155163 syncServerUri : string ;
156- storage : Storage ;
164+ addressStorage : Storage ;
165+ keysStorage : Storage ;
157166 identityToken : string ;
158167 rpcUrl : string ;
159168 chain : Chain ;
160169} ) {
161- const smartAccountWalletClient = await getAndUpdateSmartAccount ( walletClient , rpcUrl , chain , storage ) ;
170+ const smartAccountWalletClient = await getAndUpdateSmartAccount ( walletClient , rpcUrl , chain , addressStorage ) ;
162171 if ( ! smartAccountWalletClient . account ) {
163172 throw new Error ( 'Smart account wallet client account not found' ) ;
164173 }
165174 const accountAddress = smartAccountWalletClient . account . address ;
166- // const keys = loadKeys(storage, accountAddress);
175+
167176 let authData : {
168177 accountAddress : Address ;
169178 keys : IdentityKeys ;
@@ -176,13 +185,14 @@ export async function login({
176185 smartAccountWalletClient ,
177186 accountAddress ,
178187 syncServerUri ,
179- storage ,
188+ addressStorage ,
189+ keysStorage ,
180190 identityToken ,
181191 chain ,
182192 rpcUrl ,
183193 ) ;
184194 } else {
185- authData = await restoreKeys ( signer , accountAddress , syncServerUri , storage , identityToken ) ;
195+ authData = await restoreKeys ( signer , accountAddress , syncServerUri , addressStorage , keysStorage , identityToken ) ;
186196 }
187197 store . send ( { type : 'reset' } ) ;
188198 store . send ( {
0 commit comments