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: { adminAddress: string; overrides?: { accountAddress?: string; accountSalt?: string; bundlerUrl?: string; createAccount?: ( admin: string, entrypointAddress?: string; execute?: ( transaction: SendTransactionOption, executeBatch?: ( transactions: Array<SendTransactionOption>, getAccountNonce?: ( ) => Promise<bigint>; paymaster?: ( userOp: UserOperationV06 | UserOperationV07, predictAddress?: ( admin: string, ) => Promise<string>; signMessage?: (options: { message: SignableMessage; }) => Promise<`0x${string}`>; signTypedData?: (options: { typedData: TypedDataDefinition<typedData, primaryType>; }) => Promise<`0x${string}`>; tokenPaymaster?: TokenPaymasterConfig; }; sponsorGas: boolean; waitForDeployment?: boolean;}): Promise<UserOperationV06 | UserOperationV07>;
The prepared transaction and options
let args: { adminAddress: string; overrides?: { accountAddress?: string; accountSalt?: string; bundlerUrl?: string; createAccount?: ( admin: string, entrypointAddress?: string; execute?: ( transaction: SendTransactionOption, executeBatch?: ( transactions: Array<SendTransactionOption>, getAccountNonce?: ( ) => Promise<bigint>; paymaster?: ( userOp: UserOperationV06 | UserOperationV07, predictAddress?: ( admin: string, ) => Promise<string>; signMessage?: (options: { message: SignableMessage; }) => Promise<`0x${string}`>; signTypedData?: (options: { typedData: TypedDataDefinition<typedData, primaryType>; }) => Promise<`0x${string}`>; tokenPaymaster?: TokenPaymasterConfig; }; sponsorGas: boolean; waitForDeployment?: boolean;};