signPreparedCalls

1function signPreparedCalls(
2 signer,
3 params,
4): Promise<
5 | (object & object)
6 | (object & object)
7 | ({
8 data: ((object & object) | (object & object) | (object & object))[];
9 type: "array";
10 } & object)
11>;

Defined in: account-kit/wallet-client/src/client/actions/signPreparedCalls.ts:34

Signs prepared calls using the provided signer.

Parameters

ParameterTypeDescription

signer

SmartWalletSigner

The signer to use

params

| { chainId: `0x${string}`; data: { callData: `0x${string}`; callGasLimit: `0x${string}`; initCode: `0x${string}`; maxFeePerGas: `0x${string}`; maxPriorityFeePerGas: `0x${string}`; nonce: `0x${string}`; paymasterAndData: `0x${string}`; preVerificationGas: `0x${string}`; sender: `0x${string}`; verificationGasLimit: `0x${string}`; }; feePayment: { maxAmount: `0x${string}`; sponsored: boolean; tokenAddress: `0x${string}`; }; signatureRequest?: | { data: | string | { raw: `0x${string}`; }; rawPayload: `0x${string}`; type: "personal_sign"; } | { data: { domain?: { chainId?: number; name?: string; salt?: `0x${string}`; verifyingContract?: `0x${string}`; version?: string; }; message: Record<string, unknown>; primaryType: string; types: Record<string, object[]>; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; }; type: "user-operation-v060"; } | { chainId: `0x${string}`; data: { callData: `0x${string}`; callGasLimit: `0x${string}`; factory?: `0x${string}`; factoryData?: `0x${string}`; maxFeePerGas: `0x${string}`; maxPriorityFeePerGas: `0x${string}`; nonce: `0x${string}`; paymaster?: `0x${string}`; paymasterData?: `0x${string}`; paymasterPostOpGasLimit?: `0x${string}`; paymasterVerificationGasLimit?: `0x${string}`; preVerificationGas: `0x${string}`; sender: `0x${string}`; verificationGasLimit: `0x${string}`; }; feePayment: { maxAmount: `0x${string}`; sponsored: boolean; tokenAddress: `0x${string}`; }; signatureRequest?: | { data: | string | { raw: `0x${string}`; }; rawPayload: `0x${string}`; type: "personal_sign"; } | { data: { domain?: { chainId?: number; name?: string; salt?: `0x${string}`; verifyingContract?: `0x${string}`; version?: string; }; message: Record<string, unknown>; primaryType: string; types: Record<string, object[]>; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; }; type: "user-operation-v070"; } | { data: { domain?: { chainId?: number; name?: string; salt?: `0x${string}`; verifyingContract?: `0x${string}`; version?: string; }; message: Record<string, unknown>; primaryType: string; types: Record<string, object[]>; }; modifiedRequest: { calls: object[]; capabilities?: { eip7702Auth?: | true | { account?: `0x${string}`; delegation: "ModularAccountV2" | "0x69007702764179f14F51cdce752f4f775d74E139"; }; gasParamsOverride?: { callGasLimit?: | `0x${string}` | { multiplier: number; }; maxFeePerGas?: | `0x${string}` | { multiplier: number; }; maxPriorityFeePerGas?: | `0x${string}` | { multiplier: number; }; paymasterPostOpGasLimit?: | `0x${string}` | { multiplier: number; }; paymasterVerificationGasLimit?: | `0x${string}` | { multiplier: number; }; preVerificationGas?: | `0x${string}` | { multiplier: number; }; verificationGasLimit?: | `0x${string}` | { multiplier: number; }; }; nonceOverride?: { nonceKey: `0x${string}`; }; paymasterService?: ({ policyId: string; } | { policyIds: string[]; }) & { onlyEstimation?: boolean | undefined; erc20?: { maxTokenAmount?: `0x\{string}\` | undefined; tokenAddress: \`0x{string}`; preOpSettings: { autoPermit: { …; }; }; } | { …; } | { …; } | { …; } | undefined; webhookData?: string | undefined; }; permissions?: | { context: `0x${string}`; } | { sessionId: `0x${string}`; signature: `0x${string}`; }; }; chainId: `0x${string}`; from: `0x${string}`; paymasterPermitSignature?: | { data: | `0x${string}` | { r: `0x${string}`; s: `0x${string}`; yParity: `0x${string}`; } | { r: `0x${string}`; s: `0x${string}`; v: `0x${string}`; }; type: "secp256k1"; } | { data: | `0x${string}` | { r: `0x${string}`; s: `0x${string}`; yParity: `0x${string}`; } | { r: `0x${string}`; s: `0x${string}`; v: `0x${string}`; }; type: "ecdsa"; }; }; signatureRequest: { data: { domain?: { chainId?: number; name?: string; salt?: `0x${string}`; verifyingContract?: `0x${string}`; version?: string; }; message: Record<string, unknown>; primaryType: string; types: Record<string, object[]>; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; }; type: "paymaster-permit"; } | { data: ( | { chainId: `0x${string}`; data: { callData: `0x${string}`; callGasLimit: `0x${string}`; initCode: `0x${string}`; maxFeePerGas: `0x${string}`; maxPriorityFeePerGas: `0x${string}`; nonce: `0x${string}`; paymasterAndData: `0x${string}`; preVerificationGas: `0x${string}`; sender: `0x${string}`; verificationGasLimit: `0x${string}`; }; feePayment: { maxAmount: `0x${string}`; sponsored: boolean; tokenAddress: `0x${string}`; }; signatureRequest?: | { data: | string | { raw: `0x${string}`; }; rawPayload: `0x${string}`; type: "personal_sign"; } | { data: { domain?: { chainId?: … | …; name?: … | …; salt?: … | …; verifyingContract?: … | …; version?: … | …; }; message: Record<string, unknown>; primaryType: string; types: Record<string, object[]>; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; }; type: "user-operation-v060"; } | { chainId: `0x${string}`; data: { callData: `0x${string}`; callGasLimit: `0x${string}`; factory?: `0x${string}`; factoryData?: `0x${string}`; maxFeePerGas: `0x${string}`; maxPriorityFeePerGas: `0x${string}`; nonce: `0x${string}`; paymaster?: `0x${string}`; paymasterData?: `0x${string}`; paymasterPostOpGasLimit?: `0x${string}`; paymasterVerificationGasLimit?: `0x${string}`; preVerificationGas: `0x${string}`; sender: `0x${string}`; verificationGasLimit: `0x${string}`; }; feePayment: { maxAmount: `0x${string}`; sponsored: boolean; tokenAddress: `0x${string}`; }; signatureRequest?: | { data: | string | { raw: `0x${string}`; }; rawPayload: `0x${string}`; type: "personal_sign"; } | { data: { domain?: { chainId?: … | …; name?: … | …; salt?: … | …; verifyingContract?: … | …; version?: … | …; }; message: Record<string, unknown>; primaryType: string; types: Record<string, object[]>; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; }; type: "user-operation-v070"; } | { chainId: `0x${string}`; data: { address: `0x${string}`; nonce: `0x${string}`; }; signatureRequest: { rawPayload: `0x${string}`; type: "eip7702Auth"; }; type: "authorization"; })[]; type: "array"; }

The prepared calls with signature requests

Returns

Promise< | object & object | object & object | { data: (object & object | object & object | object & object)[]; type: "array"; } & object>

A Promise that resolves to the signed calls