Skip to content

Commit f9fa643

Browse files
committed
fix account abstraction provider
1 parent 528c22f commit f9fa643

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

packages/no-modal/src/noModal.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,12 @@ export class Web3AuthNoModal extends SafeEventEmitter<Web3AuthNoModalEvents> imp
349349
this.coreOptions.useAAWithExternalWallet
350350
) {
351351
const { accountAbstractionProvider } = await import("@/core/account-abstraction-provider");
352-
const aaProvider = await accountAbstractionProvider({ accountAbstractionConfig, chainConfig: this.currentChain, provider });
352+
const aaProvider = await accountAbstractionProvider({
353+
accountAbstractionConfig,
354+
provider,
355+
getCurrentChain: this.getCurrentChain.bind(this),
356+
getChain: this.getChain.bind(this),
357+
});
353358
finalProvider = aaProvider;
354359
// TODO: when switching chains to Solana or other chains, we need to switch to the non-AA provider
355360
}

packages/no-modal/src/providers/account-abstraction-provider/providers/AccountAbstractionProvider.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,9 @@ class AccountAbstractionProvider extends BaseProvider<AccountAbstractionProvider
6060
return this._publicClient;
6161
}
6262

63-
public static getProviderInstance = async (params: {
64-
eoaProvider: IProvider;
65-
smartAccountInit: ISmartAccount;
66-
chainConfig: CustomChainConfig;
67-
bundlerConfig: BundlerConfig;
68-
paymasterConfig?: PaymasterConfig;
69-
}): Promise<AccountAbstractionProvider> => {
63+
public static getProviderInstance = async (
64+
params: AccountAbstractionProviderConfig & { eoaProvider: IProvider }
65+
): Promise<AccountAbstractionProvider> => {
7066
const providerFactory = new AccountAbstractionProvider({ config: params });
7167
await providerFactory.setupProvider(params.eoaProvider);
7268
providerFactory.update({ eoaProvider: params.eoaProvider });
@@ -173,11 +169,13 @@ class AccountAbstractionProvider extends BaseProvider<AccountAbstractionProvider
173169

174170
export const accountAbstractionProvider = async ({
175171
accountAbstractionConfig,
176-
chainConfig,
172+
getCurrentChain,
173+
getChain,
177174
provider,
178175
}: {
179176
accountAbstractionConfig: AccountAbstractionConfig;
180-
chainConfig: CustomChainConfig;
177+
getCurrentChain: () => CustomChainConfig;
178+
getChain: (chainId: string) => CustomChainConfig | undefined;
181179
provider: IProvider;
182180
}) => {
183181
let smartAccountInit: ISmartAccount;
@@ -214,7 +212,8 @@ export const accountAbstractionProvider = async ({
214212
return AccountAbstractionProvider.getProviderInstance({
215213
eoaProvider: provider,
216214
smartAccountInit,
217-
chainConfig,
215+
getCurrentChain,
216+
getChain,
218217
bundlerConfig,
219218
paymasterConfig,
220219
});

0 commit comments

Comments
 (0)