signSignatureRequest

Signs a signature request using the provided signer. This method handles different types of signature requests including personal_sign, eth_signTypedData_v4, and authorization.

Param

The signer to use for signing the request

Param

The signature request parameters

Param

The type of signature request (‘personal_sign’, ‘eth_signTypedData_v4’, or ‘signature_with_authorization’)

Param

The data to sign, format depends on the signature type

Example

1// Sign a personal message
2const result = await client.signSignatureRequest({
3 type: 'personal_sign',
4 data: 'Hello, world!'
5});
6
7// Sign typed data (EIP-712)
8const result = await client.signSignatureRequest({
9 type: 'eth_signTypedData_v4',
10 data: {
11 domain: { ... },
12 types: { ... },
13 primaryType: '...',
14 message: { ... }
15 }
16});

Call Signature

1function signSignatureRequest(
2 signer,
3 params,
4): Promise<
5 | {
6 data:
7 | `0x${string}`
8 | {
9 r: `0x${string}`;
10 s: `0x${string}`;
11 yParity: `0x${string}`;
12 }
13 | {
14 r: `0x${string}`;
15 s: `0x${string}`;
16 v: `0x${string}`;
17 };
18 type: "secp256k1";
19 }
20 | {
21 data:
22 | `0x${string}`
23 | {
24 r: `0x${string}`;
25 s: `0x${string}`;
26 yParity: `0x${string}`;
27 }
28 | {
29 r: `0x${string}`;
30 s: `0x${string}`;
31 v: `0x${string}`;
32 };
33 type: "ecdsa";
34 }
35>;

Defined in: account-kit/wallet-client/src/client/actions/signSignatureRequest.ts:30

Parameters

ParameterType

signer

SmartAccountSigner

params

WithoutRawPayload< | { 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: Type.TRecord<"^.*$", Type.TUnknown>; primaryType: string; types: Type.TRecord<"^.*$", Type.TArray<Type.TObject<{ name: Type.TString; type: Type.TString; }>>>; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; } | object & object>

Returns

Promise< | { 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"; }>

Call Signature

1function signSignatureRequest(
2 signer,
3 params,
4): Promise<{
5 data: {
6 metadata: {
7 authenticatorData: `0x${string}`;
8 clientDataJSON: string;
9 };
10 signature:
11 | `0x${string}`
12 | {
13 r: `0x${string}`;
14 s: `0x${string}`;
15 };
16 };
17 type: "webauthn-p256";
18}>;

Defined in: account-kit/wallet-client/src/client/actions/signSignatureRequest.ts:42

Parameters

ParameterType

signer

WebAuthnSigner

params

WithoutRawPayload< | { 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: Type.TRecord<"^.*$", Type.TUnknown>; primaryType: string; types: Type.TRecord<"^.*$", Type.TArray<Type.TObject<{ name: Type.TString; type: Type.TString; }>>>; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; }>

Returns

Promise<{ data: { metadata: { authenticatorData: `0x${string}`; clientDataJSON: string; }; signature: | `0x${string}` | { r: `0x${string}`; s: `0x${string}`; }; }; type: "webauthn-p256"; }>

Call Signature

1function signSignatureRequest(
2 signer,
3 params,
4): Promise<
5 | {
6 data:
7 | `0x${string}`
8 | {
9 r: `0x${string}`;
10 s: `0x${string}`;
11 yParity: `0x${string}`;
12 }
13 | {
14 r: `0x${string}`;
15 s: `0x${string}`;
16 v: `0x${string}`;
17 };
18 type: "secp256k1";
19 }
20 | {
21 data:
22 | `0x${string}`
23 | {
24 r: `0x${string}`;
25 s: `0x${string}`;
26 yParity: `0x${string}`;
27 }
28 | {
29 r: `0x${string}`;
30 s: `0x${string}`;
31 v: `0x${string}`;
32 };
33 type: "ecdsa";
34 }
35 | {
36 data: {
37 metadata: {
38 authenticatorData: `0x${string}`;
39 clientDataJSON: string;
40 };
41 signature:
42 | `0x${string}`
43 | {
44 r: `0x${string}`;
45 s: `0x${string}`;
46 };
47 };
48 type: "webauthn-p256";
49 }
50>;

Defined in: account-kit/wallet-client/src/client/actions/signSignatureRequest.ts:50

Parameters

ParameterType

signer

SmartAccountSigner<any> | WebAuthnSigner

params

WithoutRawPayload< | { 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: Type.TRecord<"^.*$", Type.TUnknown>; primaryType: string; types: Type.TRecord<"^.*$", Type.TArray<Type.TObject<{ name: Type.TString; type: Type.TString; }>>>; }; rawPayload: `0x${string}`; type: "eth_signTypedData_v4"; }>

Returns

Promise< | { 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"; } | { data: { metadata: { authenticatorData: `0x${string}`; clientDataJSON: string; }; signature: | `0x${string}` | { r: `0x${string}`; s: `0x${string}`; }; }; type: "webauthn-p256"; }>