@@ -23,18 +23,27 @@ import { type AppMetadata, type ProviderInterface, type SessionPreferences, Wall
2323import type { CustomPaymasterHandler } from "../paymaster/index.js" ;
2424export { callPolicy } from "../client-auth-server/index.js" ;
2525
26+ export type ConnectorMetadata = {
27+ icon : string ;
28+ id : string ;
29+ name : string ;
30+ type : string ;
31+ } ;
32+
2633export type ZksyncSsoConnectorOptions = {
2734 metadata ?: Partial < AppMetadata > ;
2835 session ?: SessionPreferences | ( ( ) => SessionPreferences | Promise < SessionPreferences > ) ;
2936 authServerUrl ?: string ;
3037 paymasterHandler ?: CustomPaymasterHandler ;
3138 communicator ?: Communicator ;
39+ provider ?: ProviderInterface ;
40+ connectorMetadata ?: ConnectorMetadata ;
3241} ;
3342
3443export const zksyncSsoConnector = ( parameters : ZksyncSsoConnectorOptions ) => {
3544 type Provider = ProviderInterface ;
3645
37- let walletProvider : WalletProvider | undefined ;
46+ let walletProvider : Provider | undefined ;
3847
3948 let accountsChanged : Connector [ "onAccountsChanged" ] | undefined ;
4049 let chainChanged : Connector [ "onChainChanged" ] | undefined ;
@@ -59,11 +68,11 @@ export const zksyncSsoConnector = (parameters: ZksyncSsoConnectorOptions) => {
5968 } ;
6069
6170 return createConnector < Provider > ( ( config ) => ( {
62- icon : "https://zksync.io/favicon.ico" ,
63- id : "zksync-sso" ,
64- name : "ZKsync" ,
71+ icon : parameters . connectorMetadata ?. icon ?? "https://zksync.io/favicon.ico" ,
72+ id : parameters . connectorMetadata ?. id ?? "zksync-sso" ,
73+ name : parameters . connectorMetadata ?. name ?? "ZKsync" ,
74+ type : parameters . connectorMetadata ?. type ?? "zksync-sso" ,
6575 // supportsSimulation: true,
66- type : "zksync-sso" ,
6776 async connect ( { chainId } = { } ) {
6877 try {
6978 const provider = await this . getProvider ( ) ;
@@ -135,7 +144,7 @@ export const zksyncSsoConnector = (parameters: ZksyncSsoConnectorOptions) => {
135144 } ,
136145 async getProvider ( ) {
137146 if ( ! walletProvider ) {
138- walletProvider = new WalletProvider ( {
147+ walletProvider = parameters . provider ?? new WalletProvider ( {
139148 metadata : {
140149 name : parameters . metadata ?. name ,
141150 icon : parameters . metadata ?. icon ,
0 commit comments