# SignatureErc8010.wrap

Wraps a signature into [ERC-8010 format](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md).

## Imports

:::code-group
```ts [Named]
import { SignatureErc8010 } from 'ox/erc8010'
```

```ts [Entrypoint]
import * as SignatureErc8010 from 'ox/erc8010/SignatureErc8010'
```
:::

## Examples

```ts twoslash
// @noErrors
import { Secp256k1, Signature } from 'ox'
import { SignatureErc8010 } from 'ox/erc8010' // [!code focus]

const signature = Secp256k1.sign({
  payload: '0x...',
  privateKey: '0x...',
})

const wrapped = SignatureErc8010.wrap({ // [!code focus]
  authorization: { ... }, // [!code focus]
  data: '0xdeadbeef', // [!code focus]
  signature: Signature.toHex(signature), // [!code focus]
}) // [!code focus]
```

## Definition

```ts
function wrap(
  value: SignatureErc8010.Unwrapped,
): Wrapped
```

**Source:** [src/erc8010/SignatureErc8010.ts](https://github.com/wevm/ox/blob/main/src/erc8010/SignatureErc8010.ts#L267)

## Parameters

### value

* **Type:** [`SignatureErc8010.Unwrapped`](/ercs/erc8010/SignatureErc8010/types#signatureerc8010unwrapped)

Values to wrap.

#### value.authorization

* **Type:** `{ address: abitype_Address; chainId: number; nonce: bigint; r: 0x${string}; s: 0x${string}; yParity: number; }`

Authorization signed by the delegatee.

#### value.data

* **Type:** `0x${string}`
* **Optional**

Data to initialize the delegation.

#### value.signature

* **Type:** `0x${string}`

The original signature.

#### value.to

* **Type:** `Address.Address | undefined`
* **Optional**

Address of the initializer.

## Return Type

Wrapped signature.

[`SignatureErc8010.Wrapped`](/ercs/erc8010/SignatureErc8010/types#signatureerc8010wrapped)
