TypeScript SDK
createUnsignedUserOp
Creates an unsigned user operation from a prepared transaction.
import { createUnsignedUserOp } from "thirdweb/wallets/smart"; const transaction = prepareContractCall(...); const userOp = await createUnsignedUserOp({ transaction, factoryContract, accountContract, adminAddress, sponsorGas, overrides,});function createUnsignedUserOp(args: {  accountContract: Readonly;  adminAddress: string;  factoryContract: Readonly;  isDeployedOverride?: boolean;  overrides?: {    accountAddress?: string;    accountSalt?: string;    bundlerUrl?: string;    createAccount?: (      factoryContract: Readonly,      admin: string,    entrypointAddress?: string;    execute?: (      accountContract: Readonly,      transaction: SendTransactionOption,    executeBatch?: (      accountContract: Readonly,      transactions: Array<SendTransactionOption>,    getAccountNonce?: (accountContract: Readonly) => Promise<bigint>;    paymaster?: (      userOp: UserOperationV06 | UserOperationV07,    predictAddress?: (      factoryContract: Readonly,      admin: string,    ) => Promise<string>;    signMessage?: (options: {      accountContract: Readonly;      factoryContract: Readonly;      message: SignableMessage;    }) => Promise<`0x${string}`>;    signTypedData?: (options: {      accountContract: Readonly;      factoryContract: Readonly;      typedData: Definition<typedData, primaryType>;    }) => Promise<`0x${string}`>;    tokenPaymaster?: TokenPaymasterConfig;  };  sponsorGas: boolean;  waitForDeployment?: boolean;}): Promise<UserOperationV06 | UserOperationV07>;The prepared transaction and options
let args: {  accountContract: Readonly;  adminAddress: string;  factoryContract: Readonly;  isDeployedOverride?: boolean;  overrides?: {    accountAddress?: string;    accountSalt?: string;    bundlerUrl?: string;    createAccount?: (      factoryContract: Readonly,      admin: string,    entrypointAddress?: string;    execute?: (      accountContract: Readonly,      transaction: SendTransactionOption,    executeBatch?: (      accountContract: Readonly,      transactions: Array<SendTransactionOption>,    getAccountNonce?: (accountContract: Readonly) => Promise<bigint>;    paymaster?: (      userOp: UserOperationV06 | UserOperationV07,    predictAddress?: (      factoryContract: Readonly,      admin: string,    ) => Promise<string>;    signMessage?: (options: {      accountContract: Readonly;      factoryContract: Readonly;      message: SignableMessage;    }) => Promise<`0x${string}`>;    signTypedData?: (options: {      accountContract: Readonly;      factoryContract: Readonly;      typedData: Definition<typedData, primaryType>;    }) => Promise<`0x${string}`>;    tokenPaymaster?: TokenPaymasterConfig;  };  sponsorGas: boolean;  waitForDeployment?: boolean;};