# SignatureEnvelope.fromRpc

Converts an RPC-formatted signature envelope to a typed signature envelope.

## Imports

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

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

## Examples

```ts twoslash
import { SignatureEnvelope } from 'ox/tempo'

const envelope = SignatureEnvelope.fromRpc({
  r: '0x0',
  s: '0x0',
  yParity: '0x0',
  type: 'secp256k1'
})
```

## Definition

```ts
function fromRpc(
  envelope: SignatureEnvelopeRpc,
): SignatureEnvelope
```

**Source:** [src/tempo/SignatureEnvelope.ts](https://github.com/wevm/ox/blob/main/src/tempo/SignatureEnvelope.ts#L1794)

## Parameters

### envelope

* **Type:** [`SignatureEnvelopeRpc`](/tempo/reference/SignatureEnvelope/types#signatureenvelopesignatureenveloperpc)

The RPC signature envelope to convert.

#### envelope.account

* **Type:** `abitype_Address`

#### envelope.init

* **Type:** `{ salt?: 0x${string}; threshold: number; owners: readonly Owner[]; }`
* **Optional**

#### envelope.keyId

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

#### envelope.preHash

* **Type:** `boolean`

#### envelope.pubKeyX

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

#### envelope.pubKeyY

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

#### envelope.r

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

#### envelope.s

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

#### envelope.signature

* **Type:** `SignatureEnvelopeRpc`

#### envelope.signatures

* **Type:** `readonly 0x${string}[]`

Encoded owner approvals (raw serialized signatures), matching the node's
`Vec<Bytes>` representation.

#### envelope.type

* **Type:** `"multisig"`

#### envelope.userAddress

* **Type:** `abitype_Address`

#### envelope.v

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

#### envelope.version

* **Type:** `KeychainVersion`
* **Optional**

#### envelope.webauthnData

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

## Return Type

The signature envelope with bigint values.

`SignatureEnvelope`
