A simplified mode that doesn't require a different wallet extension. Instead, the current provider's account is used as wallet owner by calling its "Sign Message" operation.
This can only work for wallets that use an EIP-191 ("Ethereum Signed Message") signature (like our sample SimpleWallet) Also, the UX is not great (the user is asked to sign a hash, and even the wallet address is not mentioned, only the signer)
import { wrapProvider } from'aa-conla-sdk'//use this account as wallet-owner (which will be used to sign the requests)constaaSigner=provider.getSigner()constpaymasterAPI=newPaymasterAPI(entryPointAddress, bundlerUrl)constconfig= { chainId:awaitprovider.getNetwork().then(net =>net.chainId), entryPointAddress, bundlerUrl:'bundlerUrl', paymasterAPI} constaaProvider=awaitwrapProvider(provider, config, aaSigner)constwalletAddress=awaitaaProvider.getSigner().getAddress()// send some eth to the wallet Address: wallet should have some balance to pay for its own creation, and for calling methods.
constmyContract=newContract(abi, aaProvider)// this method will get called from the wallet address, through account-abstraction EntryPointawaitmyContract.someMethod()