signPreparedCalls

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

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

Signs prepared calls using the provided signer.

Parameters

ParameterTypeDescription

signer

SmartAccountSigner

The signer to use

params

| { 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: { [key: string]: unknown; }; primaryType: string; types: { [key: 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: { [key: string]: unknown; }; primaryType: string; types: { [key: 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"; } | { 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: { [key: string]: unknown; }; primaryType: string; types: { [key: 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: { [key: string]: unknown; }; primaryType: string; types: { [key: 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: { [key: string]: unknown; }; primaryType: string; types: { [key: string]: object[]; }; }; modifiedRequest: { calls: object[]; capabilities?: { eip7702Auth?: | true | { account?: `0x${string}`; delegation: "0x69007702764179f14F51cdce752f4f775d74E139" | "ModularAccountV2"; }; 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: { …; } | { …; }; } | { …; } | {})) | 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: { [key: string]: unknown; }; primaryType: string; types: { [key: string]: object[]; }; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; }; type: "paymaster-permit"; }

The prepared calls with signature requests

Returns

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

A Promise that resolves to the signed calls