SmartWalletOptions

type SmartWalletOptions = Prettify<
{
chain: Chain;
factoryAddress?: string;
overrides?: {
accountAddress?: string;
accountSalt?: string;
bundlerUrl?: string;
createAccount?: (
factoryContract: ThirdwebContract,
admin: string,
entrypointAddress?: string;
execute?: (
accountContract: ThirdwebContract,
transaction: SendTransactionOption,
executeBatch?: (
accountContract: ThirdwebContract,
transactions: Array<SendTransactionOption>,
getAccountNonce?: (
accountContract: ThirdwebContract,
) => Promise<bigint>;
paymaster?: (
userOp: UserOperationV06 | UserOperationV07,
) => Promise<PaymasterResult>;
predictAddress?: (
factoryContract: ThirdwebContract,
admin: string,
) => Promise<string>;
signMessage?: (options: {
accountContract: ThirdwebContract;
adminAccount: Account;
factoryContract: ThirdwebContract;
message: SignableMessage;
}) => Promise<Hex>;
signTypedData?: (options: {
accountContract: ThirdwebContract;
adminAccount: Account;
factoryContract: ThirdwebContract;
typedData: ox__TypedData.Definition<typedData, primaryType>;
}) => Promise<Hex>;
tokenPaymaster?: TokenPaymasterConfig;
};
} & ({ gasless: boolean } | { sponsorGas: boolean })
>;