@@ -5,7 +5,7 @@ import { getGeneralPaymasterInput } from "viem/zksync";
55import { FactoryAbi } from "../../../abi/Factory.js" ;
66import { encodeModuleData , encodePasskeyModuleParameters , encodeSession } from "../../../utils/encoding.js" ;
77import { noThrow } from "../../../utils/helpers.js" ;
8- import { getPasskeySignatureFromPublicKeyBytes , getPublicKeyBytesFromPasskeySignature } from "../../../utils/passkey.js" ;
8+ import { base64UrlToUint8Array , getPasskeySignatureFromPublicKeyBytes , getPublicKeyBytesFromPasskeySignature } from "../../../utils/passkey.js" ;
99import type { SessionConfig } from "../../../utils/session.js" ;
1010
1111/* TODO: try to get rid of most of the contract params like passkey, session */
@@ -174,17 +174,18 @@ export const fetchAccount = async <
174174
175175 if ( ! accountAddress || accountAddress == NULL_ADDRESS ) throw new Error ( `No account found for username: ${ username } ` ) ;
176176
177+ const credentialId = toHex ( base64UrlToUint8Array ( username ) ) ;
177178 const lowerKeyHalfBytes = await readContract ( client , {
178- abi : parseAbi ( [ "function lowerKeyHalf(string,address) view returns (bytes32)" ] ) ,
179+ abi : parseAbi ( [ "function lowerKeyHalf(string,bytes, address) view returns (bytes32)" ] ) ,
179180 address : args . contracts . passkey ,
180181 functionName : "lowerKeyHalf" ,
181- args : [ origin , accountAddress ] ,
182+ args : [ origin , credentialId , accountAddress ] ,
182183 } ) ;
183184 const upperKeyHalfBytes = await readContract ( client , {
184- abi : parseAbi ( [ "function upperKeyHalf(string,address) view returns (bytes32)" ] ) ,
185+ abi : parseAbi ( [ "function upperKeyHalf(string,bytes, address) view returns (bytes32)" ] ) ,
185186 address : args . contracts . passkey ,
186187 functionName : "upperKeyHalf" ,
187- args : [ origin , accountAddress ] ,
188+ args : [ origin , credentialId , accountAddress ] ,
188189 } ) ;
189190
190191 if ( ! lowerKeyHalfBytes || ! upperKeyHalfBytes ) throw new Error ( `Passkey credentials not found in on-chain module for passkey ${ username } ` ) ;
0 commit comments