# Authorization.from

Converts an [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization object into a typed [`Authorization.Authorization`](/api/Authorization/types#authorization).

## Imports

:::code-group
```ts [Named]
import { Authorization } from 'ox'
```

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

## Examples

An Authorization can be instantiated from an [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization tuple in object format.

```ts twoslash
import { Authorization } from 'ox'

const authorization = Authorization.from({
  address: '0x1234567890abcdef1234567890abcdef12345678',
  chainId: 1,
  nonce: 69n
})
```

### Attaching Signatures

A [`Signature.Signature`](/api/Signature/types#signature) can be attached with the `signature` option. The example below demonstrates signing an Authorization with [`Secp256k1.sign`](/api/Secp256k1/sign).

```ts twoslash
import { Authorization, Secp256k1 } from 'ox'

const authorization = Authorization.from({
  address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
  chainId: 1,
  nonce: 40n
})

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

const authorization_signed = Authorization.from(
  authorization,
  { signature }
) // [!code focus]
```

## Definition

```ts
function from<authorization, signature>(
  authorization: authorization | Authorization,
  options?: from.Options<signature>,
): from.ReturnType<authorization, signature>
```

**Source:** [src/core/Authorization.ts](https://github.com/wevm/ox/blob/main/src/core/Authorization.ts#L659)

## Parameters

### authorization

* **Type:** `authorization | Authorization`

An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization tuple in object format.

### options

* **Type:** `from.Options<signature>`
* **Optional**

Authorization options.

#### options.signature

* **Type:** `signature | { r: 0x${string}; s: 0x${string}; yParity: number; }`
* **Optional**

The [`Signature.Signature`](/api/Signature/types#signature) to attach to the Authorization.

## Return Type

The [`Authorization.Authorization`](/api/Authorization/types#authorization).

`from.ReturnType<authorization, signature>`
