# TypedDataSigner

Defined in: [types.ts:51](https://github.com/FilOzone/synapse-sdk/blob/68e30a2a5457180e60a5579eb5ecff90b65894b3/packages/keysmith/src/types.ts#L51)

Anything that can sign EIP-712 typed data: a viem Account, a WalletClient, or
a session key. Keysmith itself never sees a private key.

## Properties

### signTypedData

> **signTypedData**: (`args`) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`` `0x${string}` ``\>

Defined in: [types.ts:52](https://github.com/FilOzone/synapse-sdk/blob/68e30a2a5457180e60a5579eb5ecff90b65894b3/packages/keysmith/src/types.ts#L52)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `args` | \{ `domain`: \{ `name`: `string`; `version`: `string`; \}; `message`: [`KeyspaceKeyMessage`](/reference/filoz/keysmith/type-aliases/keyspacekeymessage/); `primaryType`: `"KeyspaceKey"`; `types`: [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)\<`string`, readonly `object`[]\>; \} |
| `args.domain` | \{ `name`: `string`; `version`: `string`; \} |
| `args.domain.name` | `string` |
| `args.domain.version` | `string` |
| `args.message` | [`KeyspaceKeyMessage`](/reference/filoz/keysmith/type-aliases/keyspacekeymessage/) |
| `args.primaryType` | `"KeyspaceKey"` |
| `args.types` | [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)\<`string`, readonly `object`[]\> |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`` `0x${string}` ``\>