Skip to content

Commit 9640832

Browse files
authored
feat: adding support for custom provider on connector arguments (#178)
1 parent 9f8defe commit 9640832

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

packages/sdk/src/connector/index.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,27 @@ import { type AppMetadata, type ProviderInterface, type SessionPreferences, Wall
2323
import type { CustomPaymasterHandler } from "../paymaster/index.js";
2424
export { 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+
2633
export 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

3443
export 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

Comments
 (0)